linux/arch/powerpc/platforms/cell
Jeremy Kerr 0111a70186 [POWERPC] spufs: fix invalid scheduling of forgotten contexts
At present, we have a situation where a context with no owner is
re-scheduled by spu_forget:

	Thread 1: reading regs file	Thread 2: context owner

					spu_forget()
						- ctx->owner = NULL
						- set SPU_SCHED_WAS_ACTIVE

	spu_acquire_saved()
	- context is in saved state

	spu_release_saved()
	- SPU_SCHED_WAS_ACTIVE is set,
	  so spu_activate() the context,
	  which now has no owner

In spu_forget(), we shouldn't be requesting a re-schedule by setting
SPU_SCHED_WAS_ACTIVE. This change removes the set_bit in spu_forget(),
so that spu_release_saved() doesn't reinsert this destroyed context on
to the run queue.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-02-28 09:56:28 +11:00
..
spufs [POWERPC] spufs: fix invalid scheduling of forgotten contexts 2008-02-28 09:56:28 +11:00
axon_msi.c [POWERPC] Avoid possible extra of_node_put in axon_msi.c 2008-02-06 16:30:00 +11:00
cbe_cpufreq_pervasive.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
cbe_cpufreq_pmi.c [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. 2007-12-19 01:00:02 +01:00
cbe_cpufreq.c [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. 2007-12-19 01:00:02 +01:00
cbe_cpufreq.h [CELL] cbe_cpufreq: reorganize code 2007-07-20 21:41:38 +02:00
cbe_regs.c [POWERPC] cell/cbe_regs.c: Add missing of_node_put 2007-12-20 17:13:51 +11:00
cbe_thermal.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
interrupt.c [POWERPC] Fix CONFIG_SMP=n build break 2007-11-08 14:15:30 +11:00
interrupt.h
io-workarounds.c [POWERPC] cell: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:15 +11:00
iommu.c [POWERPC] Make cell IOMMU fixed mapping printk more useful 2008-02-08 19:52:40 +11:00
Kconfig [POWERPC] spufs: Add marker-based tracing facility 2008-02-06 16:26:59 +11:00
Makefile Merge branch 'linux-2.6' 2008-01-24 10:07:21 +11:00
pervasive.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10:00
pervasive.h
pmu.c [POWERPC] cell: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:15 +11:00
ras.c [POWERPC] Cell RAS: Remove DEBUG, and add license and copyright 2008-02-14 22:11:02 +11:00
ras.h
setup.c [POWERPC] Search for and publish cell OF platform devices earlier 2008-02-06 16:29:59 +11:00
smp.c [POWERPC] Cleanup SMT thread handling 2007-12-03 13:56:25 +11:00
spider-pic.c [POWERPC] Provide a default irq_host match, which matches on an exact of_node 2007-09-14 01:33:20 +10:00
spu_base.c [POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg} 2008-02-20 14:57:36 +11:00
spu_callbacks.c [POWERPC] cell: Remove DEBUG for SPU callbacks 2007-09-19 15:12:17 +10:00
spu_fault.c [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module 2007-12-21 19:46:19 +11:00
spu_manage.c [POWERPC] cell: wrap master run control bit 2007-12-21 19:45:05 +11:00
spu_notify.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00
spu_priv1_mmio.c
spu_priv1_mmio.h
spu_syscalls.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00