android_kernel_xiaomi_sm8350/include
Christoph Lameter 15316ba81a [PATCH] add schedule_on_each_cpu()
swap migration's isolate_lru_page() currently uses an IPI to notify other
processors that the lru caches need to be drained if the page cannot be
found on the LRU.  The IPI interrupt may interrupt a processor that is just
processing lru requests and cause a race condition.

This patch introduces a new function run_on_each_cpu() that uses the
keventd() to run the LRU draining on each processor.  Processors disable
preemption when dealing the LRU caches (these are per processor) and thus
executing LRU draining from another process is safe.

Thanks to Lee Schermerhorn <lee.schermerhorn@hp.com> for finding this race
condition.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:12:40 -08:00
..
acpi
asm-alpha [PATCH] Alpha: convert to generic irq framework (alpha part) 2006-01-06 08:33:40 -08:00
asm-arm [ARM] byteorder.h needs linux/compiler.h 2006-01-07 16:55:50 +00:00
asm-arm26 [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-cris [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-frv [PATCH] frv: improve signal handling 2006-01-06 08:33:33 -08:00
asm-generic [PATCH] asm-generic/atomic.h needs types.h 2006-01-08 20:12:38 -08:00
asm-h8300 [PATCH] m68knommu: remove enable_irq_nosync() 2006-01-06 08:33:44 -08:00
asm-i386 [PATCH] mpspec: remove unneeded packed attribute 2006-01-06 08:33:39 -08:00
asm-ia64 [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-m32r [PATCH] m32r: Remove unnecessary icu_data_t definitions 2006-01-06 08:33:44 -08:00
asm-m68k [PATCH] m68knommu: remove enable_irq_nosync() 2006-01-06 08:33:44 -08:00
asm-m68knommu [PATCH] m68knommu: remove enable_irq_nosync() 2006-01-06 08:33:44 -08:00
asm-mips [PATCH] mips: remove include/asm-mips/riscos-syscall.h 2006-01-06 08:33:33 -08:00
asm-parisc [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-powerpc [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-ppc [PATCH] ppc32: Allows compilation of a MPC52xx kernel without PCI 2006-01-06 08:33:31 -08:00
asm-s390 [PATCH] s390: cleanup Kconfig 2006-01-06 08:33:53 -08:00
asm-sh [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-sh64 [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-sparc [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-sparc64 [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-um
asm-v850 [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
asm-x86_64 [PATCH] cpu hotplug/x86_64: disable interrupt in play_dead 2006-01-06 08:33:39 -08:00
asm-xtensa [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
keys [PATCH] Keys: Remove key duplication 2006-01-06 08:33:29 -08:00
linux [PATCH] add schedule_on_each_cpu() 2006-01-08 20:12:40 -08:00
math-emu
media Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6 2006-01-06 15:25:08 -08:00
mtd
net [IPV4]: make ip_fragment() static 2006-01-07 13:23:39 -08:00
pcmcia [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
rdma
rxrpc
scsi Merge branch 'post-2.6.15' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-01-06 09:01:25 -08:00
sound [ALSA] Revert the nested-device patch 2006-01-04 10:13:48 +01:00
video