linux/arch/powerpc
Anton Blanchard 37fb9a0231 powerpc/time: Handle wrapping of decrementer
When re-enabling interrupts we have code to handle edge sensitive
decrementers by resetting the decrementer to 1 whenever it is negative.
If interrupts were disabled long enough that the decrementer wrapped to
positive we do nothing. This means interrupts can be delayed for a long
time until it finally goes negative again.

While we hope interrupts are never be disabled long enough for the
decrementer to go positive, we have a very good test team that can
drive any kernel into the ground. The softlockup data we get back
from these fails could be seconds in the future, completely missing
the cause of the lockup.

We already keep track of the timebase of the next event so use that
to work out if we should trigger a decrementer exception.

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: stable@kernel.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-11-25 14:09:58 +11:00
..
boot Merge remote-tracking branch 'agust/next' into merge 2011-11-08 14:53:55 +11:00
configs Merge remote-tracking branch 'agust/next' into merge 2011-11-08 14:53:55 +11:00
include/asm powerpc/time: Handle wrapping of decrementer 2011-11-25 14:09:58 +11:00
kernel powerpc/time: Handle wrapping of decrementer 2011-11-25 14:09:58 +11:00
kvm Merge branch 'kvm-updates/3.2' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2011-11-20 14:57:43 -08:00
lib powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm powerpc/numa: NUMA topology support for PowerNV 2011-11-08 14:51:46 +11:00
net net: filter: BPF 'JIT' compiler for PPC64 2011-07-21 12:38:32 -07:00
oprofile powerpc/oprofile: Handle events that raise an exception without overflowing 2011-05-26 13:38:57 +10:00
platforms powerpc/ps3: Fix SMP lockdep boot warning 2011-11-16 14:47:54 +11:00
sysdev Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-15 14:47:28 -02:00
xmon Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
Kconfig powerpc/4xx: Fix typos in kexec config dependencies 2011-11-16 14:47:54 +11:00
Kconfig.debug powerpc/powernv: Support for OPAL console 2011-09-20 16:09:54 +10:00
Makefile powerpc: Remove buggy 9-year-old test for binutils < 2.12.1 2011-11-17 16:26:07 +11:00
relocs_check.pl powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00