linux/arch/powerpc/platforms/cell
Christoph Hellwig bb5db29aa0 [POWERPC] spufs scheduler: Fix wakeup races
Fix the race between checking for contexts on the runqueue and actually
waking them in spu_deactive and spu_yield.

The guts of spu_reschedule are split into a new helper called
grab_runnable_context which shows if there is a runnable thread below
a specified priority and if yes removes if from the runqueue and uses
it.  This function is used by the new __spu_deactivate hepler shared
by preemption and spu_yield to grab a new context before deactivating
a specified priority and if yes removes if from the runqueue and uses
it.  This function is used by the new __spu_deactivate hepler shared
by preemption and spu_yield to grab a new context before deactivating
the old one.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-07 11:44:39 +10:00
..
spufs [POWERPC] spufs scheduler: Fix wakeup races 2007-06-07 11:44:39 +10:00
cbe_cpufreq.c [POWERPC] cell: cbe_cpufreq cleanup and crash fix 2007-04-30 11:02:05 +10:00
cbe_regs.c [POWERPC] cell: add support for proper device-tree 2007-04-23 21:44:40 +02:00
cbe_regs.h [POWERPC] cell: add cbe_node_to_cpu function 2007-04-23 21:44:38 +02:00
cbe_thermal.c [POWERPC] cbe_thermal: add throttling attributes to cpu and spu nodes 2007-04-23 21:44:39 +02:00
interrupt.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
interrupt.h [POWERPC] cell: Add routines for managing PMU interrupts 2006-12-04 20:40:12 +11:00
io-workarounds.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
iommu.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
Kconfig [POWERPC] Spufs support for 64K LS mappings on 4K kernels 2007-05-09 16:35:00 +10:00
Makefile [POWERPC] Celleb: consolidate spu management ops 2007-02-07 14:03:21 +11:00
pervasive.c powerpc: fixup hard_irq_disable semantics 2007-05-11 08:29:34 -07:00
pervasive.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
pmu.c [POWERPC] cell: PPU Oprofile cleanup patch 2007-02-13 22:03:06 +01:00
ras.c [POWERPC] get_property cleanups 2007-04-30 11:02:05 +10:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
smp.c [POWERPC] Cleanup CPU inits 2006-08-25 13:27:35 +10:00
spider-pic.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
spu_base.c [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
spu_callbacks.c [POWERPC] Unify ppc syscall tables 2006-06-21 15:01:32 +10:00
spu_coredump.c [POWERPC] spufs: enable SPU coredump for kernel-builtin spufs 2007-04-23 21:18:59 +02:00
spu_manage.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
spu_priv1_mmio.c [POWERPC] Celleb: consolidate spu management ops 2007-02-07 14:03:21 +11:00
spu_priv1_mmio.h [POWERPC] cell: abstract spu management routines 2006-12-04 20:40:39 +11:00
spu_syscalls.c [PATCH] spufs: fix module refcount race 2006-01-09 14:53:11 +11:00