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