[Cbe-oss-dev] PATCH [4/7] decouple spu scheduler from spufs_spu_run [asynchronous scheduling]
Christoph Hellwig
hch at lst.de
Sat Nov 24 01:41:47 EST 2007
The dma test failures were caused by the removal of the signal_pending
check in spu_run_fini. By putting it back the testsuite now passes
perfectly.
Signed-off-by: Christoph Hellwig <hch at lst.de>
Index: linux-2.6/arch/powerpc/platforms/cell/spufs/run.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/cell/spufs/run.c 2007-11-23 14:34:09.000000000 +0100
+++ linux-2.6/arch/powerpc/platforms/cell/spufs/run.c 2007-11-23 14:34:27.000000000 +0100
@@ -226,15 +226,15 @@
static int spu_run_fini(struct spu_context *ctx, u32 *npc,
u32 *status)
{
- int ret = 0;
-
*status = ctx->ops->status_read(ctx);
*npc = ctx->ops->npc_read(ctx);
spuctx_switch_state(ctx, SPU_UTIL_IDLE_LOADED);
spu_release(ctx);
- return ret;
+ if (signal_pending(current))
+ return -ERESTARTSYS;
+ return 0;
}
static int spu_reacquire_runnable(struct spu_context *ctx, u32 *npc,
More information about the cbe-oss-dev
mailing list