kernel_optimize_test/arch
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
..
alpha alpha: use single HAE window on T2 core logic (gamma, sable) 2010-10-26 16:52:12 -07:00
arm replace nested max/min macros with {max,min}3 macro 2010-10-26 16:52:12 -07:00
avr32 mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
blackfin m68k{nommu}/blackfin : remove old assembler-only flags bit definitions 2010-10-26 16:52:12 -07:00
cris mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
frv mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
h8300 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
ia64 mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
m32r mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
m68k m68k{nommu}/blackfin : remove old assembler-only flags bit definitions 2010-10-26 16:52:12 -07:00
m68knommu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2010-10-25 07:44:27 -07:00
microblaze mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
mips mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
mn10300 MN10300: Prevent cnt32_to_63() from being preempted in sched_clock() 2010-10-27 17:28:35 +01:00
parisc mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
powerpc replace nested max/min macros with {max,min}3 macro 2010-10-26 16:52:12 -07:00
s390 mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
score mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
sh mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
sparc mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
tile Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2010-10-26 17:25:38 -07:00
um um: migrate from __do_IRQ() to generic_handle_irq() 2010-10-26 16:52:12 -07:00
x86 Merge branches 'upstream/xenfs' and 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2010-10-26 18:20:19 -07:00
xtensa mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
.gitignore
Kconfig Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core 2010-09-24 09:12:05 +02:00