diff options
author | jeff <jeff@FreeBSD.org> | 2008-07-19 05:18:29 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2008-07-19 05:18:29 +0000 |
commit | 7ff6e9903f13d9d6684f9c61e286c4c653181385 (patch) | |
tree | a9f1ede82a397fda5e5784018b1e2ef9521a2641 /sys/kern/subr_autoconf.c | |
parent | b2f69d1b1e36e6bc223909dcc50635e58a5b2389 (diff) | |
download | FreeBSD-src-7ff6e9903f13d9d6684f9c61e286c4c653181385.zip FreeBSD-src-7ff6e9903f13d9d6684f9c61e286c4c653181385.tar.gz |
Fix a race which could result in some timeout buckets being skipped.
- When a tick occurs on a cpu, iterate from cs_softticks until ticks.
The per-cpu tick processing happens asynchronously with the actual
adjustment of the 'ticks' variable. Sometimes the results may
be visible before the local call and sometimes after. Previously this
could cause a one tick window where we didn't evaluate the bucket.
- In softclock fetch curticks before incrementing cc_softticks so we
don't skip insertions which were made for the current time.
Sponsored by: Nokia
Diffstat (limited to 'sys/kern/subr_autoconf.c')
0 files changed, 0 insertions, 0 deletions