linux/arch/powerpc
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
..
boot [POWERPC] Remove generated files on make clean 2008-02-14 22:11:02 +11:00
configs [POWERPC] 83xx: Update mpc83xx_defconfig 2008-02-05 23:48:06 -06:00
kernel [POWERPC] vdso_do_func_patch{32,64}() must be __init 2008-02-14 22:11:02 +11:00
lib [POWERPC] rheap: Changes config mechanism 2007-10-16 17:09:21 -06:00
math-emu [POWERPC] Fix carry bug in 128-bit unsigned integer adding 2008-01-23 19:34:21 -06:00
mm Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-02-08 09:31:42 -08:00
oprofile d_path: Make get_dcookie() use a struct path argument 2008-02-14 21:17:08 -08:00
platforms [POWERPC] spufs: fix invalid scheduling of forgotten contexts 2008-02-28 09:56:28 +11:00
sysdev [POWERPC] Add missing native dcr dcr_ind_lock spinlock 2008-02-06 21:02:56 -06:00
xmon [POWERPC] Make setjmp/longjmp code usable outside of xmon 2008-01-25 22:52:50 +11:00
.gitignore [POWERPC] Add files build to .gitignore 2006-12-04 20:41:29 +11:00
Kconfig [POWERPC] Remove unused CONFIG_WANT_DEVICE_TREE 2008-02-14 22:11:03 +11:00
Kconfig.debug [POWERPC] 4xx: Base support for 440GX Taishan eval board 2007-12-23 13:13:33 -06:00
Makefile [POWERPC] bootwrapper: Build multiple cuImages 2008-02-07 11:40:19 +11:00