linux/arch/mn10300
David Howells 3b950de9c9 MN10300: Prevent cnt32_to_63() from being preempted in sched_clock()
Prevent cnt32_to_63() from being preempted in sched_clock() because it may
read its internal counter, get preempted, get delayed for more than the half
period of the 'TSC' and then write the internal counter, thus corrupting it.

Whilst some callers of sched_clock() have interrupts disabled or hold
spinlocks, not all do, and so preemption must be held here.

Note that sched_clock() is called from lockdep, but that shouldn't be a problem
because although preempt_disable() calls into lockdep, lockdep has a recursion
counter to deal with this.

Signed-off-by: David Howells <dhowells@redhat.com>
2010-10-27 17:28:35 +01:00
..
boot MN10300: Don't try and #include <linux/slab.h> in lib/inflate.c from bootloader 2010-08-12 09:51:35 -07:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
include/asm bitops: Change the bitmap index from int to unsigned long [mn10300] 2010-10-27 17:28:34 +01:00
kernel MN10300: Prevent cnt32_to_63() from being preempted in sched_clock() 2010-10-27 17:28:35 +01:00
lib bitops: Change the bitmap index from int to unsigned long [mn10300] 2010-10-27 17:28:34 +01:00
mm MN10300: BUG to BUG_ON changes 2010-10-27 17:28:33 +01:00
oprofile MN10300: Kill MN10300's own profiling Kconfig 2009-04-09 10:53:16 -07:00
proc-mn103e010 Separate out the proc- and unit-specific header directories from the general 2009-04-10 14:33:48 +01:00
unit-asb2303 MN10300: BUG to BUG_ON changes 2010-10-27 17:28:33 +01:00
unit-asb2305 mn10300: Use pci_claim_resource 2010-10-27 17:28:34 +01:00
Kconfig MN10300: Arch doesn't support HAVE_ARCH_TRACEHOOK 2010-09-23 10:20:58 -07:00
Kconfig.debug MN10300: Default config choice GDBSTUB_TTYSM0 should be GDBSTUB_ON_TTYSM0 2010-09-27 16:29:06 -07:00
Makefile mn10300: objcopy flags fix 2010-01-11 09:34:09 -08:00