Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Jun 2007 11:29:59 +0200
From:      Attilio Rao <attilio@FreeBSD.org>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        freebsd-arch@FreeBSD.org
Subject:   Re: Updated rusage patch
Message-ID:  <46652D17.5090903@FreeBSD.org>
In-Reply-To: <20070604160036.N1084@besplex.bde.org>
References:  <20070529105856.L661@10.0.0.1> <200705291456.38515.jhb@freebsd.org>	<20070529121653.P661@10.0.0.1> <20070530065423.H93410@delplex.bde.org>	<20070529141342.D661@10.0.0.1> <20070530125553.G12128@besplex.bde.org>	<20070529201255.X661@10.0.0.1> <20070529220936.W661@10.0.0.1>	<20070530201618.T13220@besplex.bde.org> <20070530115752.F661@10.0.0.1>	<20070531091419.S826@besplex.bde.org> <20070531010631.N661@10.0.0.1>	<20070601154833.O4207@besplex.bde.org> <20070601014601.I799@10.0.0.1>	<20070601200348.G6201@delplex.bde.org> <20070601123530.B606@10.0.0.1> <20070604160036.N1084@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
> On Fri, 1 Jun 2007, Jeff Roberson wrote:
> 
>> Please grep for statclock in threadlock.diff.  This removes time_lock 
>> from statclock all together and protects the whole thing with 
>> thread_lock(). With this change all cpus can execute statclock() 
>> concurrently with sched_smp.c. This patch also has fixes for locking 
>> ruxagg() as well as asserts.  It does not yet protect the ru copying 
>> in exit().  I want to figure out the synchronization issues with wait 
>> first.
> 
> I don't want to get involved reviewing another large[r] patch.
> 
> A bug turned up with the previously committed patches: the swapper
> process is now shown as having a runtime of 40-47 seconds after
> booting (and never changes after that), but I don't use swapping and
> this process has always been shown as having a runtime of 0 seconds
> before.
> 
> The bug seems to be that proc0_post() doesn't know anything about the
> rusage fields in the thread struct.  Until recently, it was only missing
> initialization of td_*ticks.  Now it is missing initialization of
> td_runtime too, so the bug is more obvious.

Yes, I always wondered why proc0_post() doesn't initialize [s,i,u]ticks too.
However, could you please give a look and a try to this patch:
http://users.gufi.org/~rookie/works/patches/schedlock/proc_post.diff

and see if it solves your problem.

Thanks,
Attilio



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46652D17.5090903>