mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
bb5db29aa0
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> |
||
---|---|---|
.. | ||
spufs | ||
cbe_cpufreq.c | ||
cbe_regs.c | ||
cbe_regs.h | ||
cbe_thermal.c | ||
interrupt.c | ||
interrupt.h | ||
io-workarounds.c | ||
iommu.c | ||
Kconfig | ||
Makefile | ||
pervasive.c | ||
pervasive.h | ||
pmu.c | ||
ras.c | ||
ras.h | ||
setup.c | ||
smp.c | ||
spider-pic.c | ||
spu_base.c | ||
spu_callbacks.c | ||
spu_coredump.c | ||
spu_manage.c | ||
spu_priv1_mmio.c | ||
spu_priv1_mmio.h | ||
spu_syscalls.c |