aboutsummaryrefslogtreecommitdiff
path: root/UPDATING
diff options
context:
space:
mode:
authorAttilio Rao <attilio@FreeBSD.org>2009-08-13 17:09:45 +0000
committerAttilio Rao <attilio@FreeBSD.org>2009-08-13 17:09:45 +0000
commitdc6fbf65451a86f6c9bc72434dfe3415afac78da (patch)
treefa01b2cb8792e972d05922a5507e082efa4d4c1d /UPDATING
parentcbb3cb151c7ad5b841955cd91b8caa74f427f0f9 (diff)
downloadsrc-dc6fbf65451a86f6c9bc72434dfe3415afac78da.tar.gz
src-dc6fbf65451a86f6c9bc72434dfe3415afac78da.zip
* Completely Remove the option STOP_NMI from the kernel. This option
has proven to have a good effect when entering KDB by using a NMI, but it completely violates all the good rules about interrupts disabled while holding a spinlock in other occasions. This can be the cause of deadlocks on events where a normal IPI_STOP is expected. * Adds an new IPI called IPI_STOP_HARD on all the supported architectures. This IPI is responsible for sending a stop message among CPUs using a privileged channel when disponible. In other cases it just does match a normal IPI_STOP. Right now the IPI_STOP_HARD functionality uses a NMI on ia32 and amd64 architectures, while on the other has a normal IPI_STOP effect. It is responsibility of maintainers to eventually implement an hard stop when necessary and possible. * Use the new IPI facility in order to implement a new userend SMP kernel function called stop_cpus_hard(). That is specular to stop_cpu() but it does use the privileged channel for the stopping facility. * Let KDB use the newly introduced function stop_cpus_hard() and leave stop_cpus() for all the other cases * Disable interrupts on CPU0 when starting the process of APs suspension. * Style cleanup and comments adding This patch should fix the reboot/shutdown deadlocks many users are constantly reporting on mailing lists. Please don't forget to update your config file with the STOP_NMI option removal Reviewed by: jhb Tested by: pho, bz, rink Approved by: re (kib)
Notes
Notes: svn path=/head/; revision=196196
Diffstat (limited to 'UPDATING')
-rw-r--r--UPDATING6
1 files changed, 6 insertions, 0 deletions
diff --git a/UPDATING b/UPDATING
index add10f3a78b8..8c31a898e509 100644
--- a/UPDATING
+++ b/UPDATING
@@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW:
to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
+20090813:
+ Remove the option STOP_NMI. The default action is now to use NMI
+ only for KDB via the newly introduced function stop_cpus_hard()
+ and maintain stop_cpus() to just use a normal IPI_STOP on ia32
+ and amd64.
+
20090719:
Bump the shared library version numbers for all libraries that
do not use symbol versioning as part of the 8.0-RELEASE cycle.