[Info-vax] High resolution per-process CPU consumption statistics

Mark Daniel mark.daniel at wasd.vsm.com.au
Tue Mar 24 19:00:56 EDT 2020


On 25/3/20 9:21 am, VAXman- at SendSpamHere.ORG wrote:
> In article <e9e7b8c6-b229-4504-9859-85b33912de30 at googlegroups.com>, johnwallace4 at yahoo.co.uk writes:
>> On Tuesday, 24 March 2020 17:05:24 UTC, Mark Daniel  wrote:
>>> On 24/3/20 9:24 pm, johnwallace4 at yahoo.co.uk wrote:
>>>> On Tuesday, 24 March 2020 00:02:22 UTC, Mark Daniel  wrote:
>>>>> Would like to be able to measure process CPU consumed during specified
>>>>> continuous sections of processing.  Only interested in CPU-intensive
>>>>> sections so USER mode consumed relevant.  Imagine inserting calls at the
>>>>> beginning and ending of those sections with a magic number representing
>>>>> CPU consumption/delta/whatever made available.
>>>>>
>>>>> As some of these CPU-intensive code sections are short duration the
>>>>> granularity needs to be quite fine.  The likes of JPI$_CPUTIM and
>>>>> LIB$STAT_TIMER (10mS) seem unsuitable.
>>>>>
>>>>> Prepared for non- USER mode code.  This is only for ad hoc developmental
>>>>> insight and not general use.  Needs to accommodate Alpha and/or Itanium
>>>>> (and/or x86-64 :-)
>>>>>
>>>>> And, of course, any other suggestion.
>>>>>
>>>>> As always, TIA.
>>>>
>>>> Is it safe to assume that the code in question is single-threaded?
>>>
>>> Yes.
>>>
>>>> Is it safe to assume that the code in question is running on a
>>>> single-processor system?
>>>
>>> Yes.
>>>
>>>> Is an Alpha-only solution better than nothing at all?
>>>
>>> Sure.
>>>
>>>> Have a look at RPCC (Read Process Cycle Counter) in the Alpha/VMS
>>>> PALcode and see if it might help.
>>>>
>>>> See e.g. the Alpha Architecture Reference Manual documentation e.g.
>>>> http://www.bitsavers.org/pdf/dec/alpha/Sites_AlphaArchitectureReferenceManual_1992.pdf
>>>> (there's probably more useful RPCC-related stuff available too).
>>>
>>> Before posting here, a fair effort with an unnamed but common search
>>> engine and my chosen query strings consistently returned references to
>>> that document and section.
>>>
>>> My fevered imagination (but internals hacking very-much limited to
>>> monkey-see-monkey-do) has something of the ilk:
>>>
>>>      unsigned __int64  start_count,
>>>                        end_count;
>>>
>>>      void get_cpu_count (unsigned __int64 *here)
>>>      {
>>>         *here = EXE$GL_CURRENT_CPU_COUNT;
> ------------------^^^^^^^^^^^^^^^^^^^^^^^^
> Where do you resolve this???

It is a code-point in that same imagination Brian.

"... of the ilk", wasn't the giveaway?  Cheers.




More information about the Info-vax mailing list