diff options
author | jeff <jeff@FreeBSD.org> | 2007-06-04 23:53:06 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2007-06-04 23:53:06 +0000 |
commit | d72d9125823ece5b24b1632ae0a8f55cd40acacb (patch) | |
tree | b994091c6a8cb27adc730d72d6fdba0984d5f916 /sys/kern/kern_fork.c | |
parent | 8931208c4016d274f5e219f0db127ef054682b00 (diff) | |
download | FreeBSD-src-d72d9125823ece5b24b1632ae0a8f55cd40acacb.zip FreeBSD-src-d72d9125823ece5b24b1632ae0a8f55cd40acacb.tar.gz |
Commit 5/14 of sched_lock decomposition.
- Protect the cp_time tick counts with atomics instead of a global lock.
There will only be one atomic per tick and this allows all processors
to execute softclock concurrently.
- In softclock, protect access to rusage and td_*tick data with the
thread_lock(), expanding the scope of the thread lock over the whole
function.
- Do some creative re-arranging in hardclock() to avoid excess locking.
- Protect the p_timer fields with the per-process spinlock.
Tested by: kris, current@
Tested on: i386, amd64, ULE, 4BSD, libthr, libkse, PREEMPTION, etc.
Discussed with: kris, attilio, kmacy, jhb, julian, bde (small parts each)
Diffstat (limited to 'sys/kern/kern_fork.c')
0 files changed, 0 insertions, 0 deletions