Re: [TEST/REVIEW] CPU accounting patches

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 24 Jan 2006 17:45:36 -0500
On Tuesday 24 January 2006 17:16, Poul-Henning Kamp wrote:
> In message <200601241709.03450.jhb_at_freebsd.org>, John Baldwin writes:
> >On Tuesday 24 January 2006 16:10, Poul-Henning Kamp wrote:
> >> Here is a new version of my cpu accounting change patch.
> >
> >The XXX in calcru1() you can remove.  The rux you are adding the current
> > time to is a local rusage_ext on the stack.
>
> I found that out myself and forgot to remove the XXX :-)
>
> >However, your changes probably make
> >it bogus in that the current code assumes it can subtract the start time
> > of another CPU (for a thread running on another CPU) from the current
> > time on this CPU to get the amount of time the other thread has been
> > running on the other CPU since it last updated p->p_rux.rux_runtime.
>
> This is when we call calcru on a running process ?
>
> Yeah, that's a problem.

Yeah, SIGINFO is an example, and getrusage() of another process might run into 
this, too.

> I'd tend to say we should just forget about accounting for the
> current quantum in that case.

It was added to fix some of the "time going backwards" and "negative uptime" 
stuff I think.  Ask Bruce.

> This is a valid handling IMO because the result can never be used
> in any final or definitive kind of way anyway.  When the process
> finishes or deschedules the numbers will get updated correctly.

Unfortunately calcru() updates the millisecond counts (uu, su, iu) for running 
processes and I think having a bogus runtime gets that very confused.

> Doing this may also simplify the locking of calcru ?

Nah, it already runs lockless in some cases I think.

> >Other than that this patch looks fine to me.  FYI, Alpha also has a
> > per-cpu counter (RPCC) that is used for the timecounter on UP Alphas.
>
> My Alpha is hosed right now and doesn't want to boot 6.0-R.  I havn't had
> time to boot my 5.0-R on it and do the upgrade to -current the long way.

Heh, I have one running head atm.  However, it's second CPU is having issues 
(I think the CPU fan has died) so it's less useful than in the past. :(

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Tue Jan 24 2006 - 21:45:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:51 UTC