diff options
author | attilio <attilio@FreeBSD.org> | 2011-04-08 18:48:57 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2011-04-08 18:48:57 +0000 |
commit | bacffe590fe330b1c64693e91a07de29e3b93da0 (patch) | |
tree | 47e792f16a2695875fad56aeab92b7bb0594f903 /sys/x86/isa | |
parent | 6028082f6855f840b72a34f8a32690727174aa11 (diff) | |
download | FreeBSD-src-bacffe590fe330b1c64693e91a07de29e3b93da0.zip FreeBSD-src-bacffe590fe330b1c64693e91a07de29e3b93da0.tar.gz |
Reintroduce the fix already discussed in r216805 (please check its history
for a detailed explanation of the problems).
The only difference with the previous fix is in Solution2:
CPUBLOCK is no longer set when exiting from callout_reset_*() functions,
which avoid the deadlock (leading to r217161).
There is no need to CPUBLOCK there because the running-and-migrating
assumption is strong enough to avoid problems there.
Furthermore add a better !SMP compliancy (leading to shrinked code and
structures) and facility macros/functions.
Tested by: gianni, pho, dim
MFC after: 3 weeks
Diffstat (limited to 'sys/x86/isa')
0 files changed, 0 insertions, 0 deletions