aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev/acpica/compiler/dttable2.c
diff options
context:
space:
mode:
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>2018-02-09 20:09:32 +0000
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>2018-02-09 20:09:32 +0000
commit778c8dac96279e2aa7f79804c8651591afd93371 (patch)
tree19de5484bfc399b94e3f7052684445b7c0095d00 /sys/contrib/dev/acpica/compiler/dttable2.c
parent51adff931885d7a64fe18955d3bb069d90b617e2 (diff)
downloadsrc-778c8dac96279e2aa7f79804c8651591afd93371.tar.gz
src-778c8dac96279e2aa7f79804c8651591afd93371.zip
Fix PowerMac G5 thermal management, plus likely other bugs, introduced in
r328113 and affecting SMP systems. The way the time is set on PowerMacs is racy and relies on all the CPUs in the system setting a register simultaneously in a rendezvous. A few-cycle delay can result in out-of-sync times, which can break the scheduler and result in calls like mtx_sleep() and pause() never timing out if the thread is migrated while sleeping. r328113 added a call to a no-op function between the beginning of the rendezvous and setting the time that was only called on APs and added enough cycles to cause a problematic offset. For some reason, the fan-management code was the first place this appeared. Clue from: andreast Reported by: many
Notes
Notes: svn path=/head/; revision=329080
Diffstat (limited to 'sys/contrib/dev/acpica/compiler/dttable2.c')
0 files changed, 0 insertions, 0 deletions