Updated rusage patch

Attilio Rao attilio at FreeBSD.org
Tue Jun 5 09:59:31 UTC 2007


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


More information about the freebsd-arch mailing list