[Info-vax] HIBertanting DECthreads process accrues CPU time.
John Wallace
johnwallace4 at yahoo.co.uk
Sun Feb 13 06:49:17 EST 2011
On Feb 11, 10:39 am, VAXman- @SendSpamHere.ORG wrote:
> In article <b1a94ca1-5582-4e4f-bd57-bda5be120... at y26g2000yqd.googlegroups.com>, Hein RMS van den Heuvel <heinvandenheu... at gmail.com> writes:
>
>
>
> >Sandeeps contribution came after hundreds of lines of included text
> >and thus was hard to find (for me at least)
>
> >So as an attempt to a public service, here is just his reply text.
> >Hein
>
> >---- Sandeep -----
>
> >When a threaded application is idle, it schedules null thread.
> >So if you see that the null thread is "running" it means the
> >application is now idle.
> >However, the null thread internally calls $HIBER, and the applciation
> >will now be in HIB state.
> >So from pthreads library perspective null thread will always be
> >"running", however, from the kernel perspective it would be
> >HIBernating.
> >To view the state of the process, you could issue a: $ SHOW SYSTEM /
> >MULTI /FULL
> >This command will show what state each kernel thread is in.
> >If it is HIB, then the process is not accumulating CPU time.
>
> >-Sandeep
>
> But it didn't answer the question. Why are two threads which should be
> idle accruing CPU time at an alarming rate?
>
> --
> VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
>
> All your spirit rack abuses, come to haunt you back by day.
> All your Byzantine excuses, given time, given you away.
Is it really accruing CPU time at an alarming rate? Or is the usually
reliable mechanism for reporting CPU time falling victim to odd
behaviour in this case, and causing unnecessary alarm?
I nowadays have only the vaguest of memories of how CPU time is
accounted for on VMS, but I do recollect that it uses time-based
sampling (eg a chunk was added to the active task's total every
scheduler tick???) and is therefore potentially a little bit suspect
if code wanted to play deliberately silly games.
On Alpha, if you wanted to really really know how long you had been
running on the CPU, without too much involvement from the OS, you
could use the processor cycle counter stuff (no significant OS
involvement needed). Does Itanic have an equivalent of RPCC??? Would
it shed any light in this picture?
Apologies in advance if this is irrelevant/unhelpful.
More information about the Info-vax
mailing list