Searched hist:"0111 a701867a796a7ca6ecbc385e4befc9f35066" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/arch/powerpc/platforms/cell/spufs/ |
H A D | context.c | diff 0111a701867a796a7ca6ecbc385e4befc9f35066 Wed Feb 27 02:08:13 CST 2008 Jeremy Kerr <jk@ozlabs.org> [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>
|