Staging
v0.5.1
https://github.com/torvalds/linux
Revision 76e677e25dd3d8af77d0b3810eacaacaf2f93f2f authored by Bryan Sutula on 05 October 2005, 17:02:06 UTC, committed by Tony Luck on 06 October 2005, 22:04:11 UTC
I've noticed a kernel hang during a storm of CMC interrupts, which was
tracked down to the continual execution of the interrupt handler.

There's code in the CMC handler that's supposed to disable CMC
interrupts and switch to polling mode when it sees a bunch of CMCs.
Because disabling CMCs across all CPUs isn't safe in interrupt context,
the disable is done with a schedule_work().  But with continual CMC
interrupts, the schedule_work() never gets executed.

The following patch immediately disables CMC interrupts for the current
CPU.  This then allows (at least) one CPU to ignore CMC interrupts,
execute the schedule_work() code, and disable CMC interrupts on the rest
of the CPUs.

Acked-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Bryan Sutula <Bryan.Sutula@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
1 parent c075814
History
Tip revision: 76e677e25dd3d8af77d0b3810eacaacaf2f93f2f authored by Bryan Sutula on 05 October 2005, 17:02:06 UTC
[IA64] Avoid kernel hang during CMC interrupt storm
Tip revision: 76e677e
File Mode Size
Documentation
arch
crypto
drivers
fs
include
init
ipc
kernel
lib
mm
net
scripts
security
sound
usr
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 87.1 KB
Kbuild -rw-r--r-- 1.2 KB
MAINTAINERS -rw-r--r-- 59.4 KB
Makefile -rw-r--r-- 42.4 KB
README -rw-r--r-- 14.4 KB
REPORTING-BUGS -rw-r--r-- 3.0 KB

README

back to top