CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/09/12 03:52:45
Modified files:
sys/arch/i386/include: cpu.h
sys/arch/amd64/include: cpu.h
sys/arch/i386/i386: mp_setperf.c
sys/arch/amd64/amd64: mp_setperf.c
Log message:
Remove the code that attempts to synchronize P-state transitions between CPUs.
Spinning inside an IPI handler is generally a bad idea as it is very hard to
avoid deadlocks. As far as I can tell the synchronization isn't necessary.
Multi-core CPUs have hardware mechanisms to do the appropropriate coordination
between cores and coordination between sockets isn't necessary either.
This seems to fix the various hangs and suspend/resume failures that people
have been seeing when running apmd -A or apmd -C.
Tested by many.
ok kspillner@, mpi@