[POWERPC] spufs: bind_context sets SPU_STATE_RUNNABLE
Christoph Hellwig [Tue, 13 Feb 2007 20:36:48 +0000 (21:36 +0100)]
Only bind_context/unbind_context change the spu context state.  Thus
we can move all assignents of SPU_STATE_RUNNABLE into bind_context,
which parallels the unbind side aswell.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>

arch/powerpc/platforms/cell/spufs/context.c
arch/powerpc/platforms/cell/spufs/sched.c

index dd89aa7..ccffc44 100644 (file)
@@ -139,7 +139,6 @@ int spu_acquire_exclusive(struct spu_context *ctx)
                ret = spu_activate(ctx, 0);
                if (ret)
                        goto out;
-               ctx->state = SPU_STATE_RUNNABLE;
        } else {
                /* We need to exclude userspace access to the context. */
                spu_unmap_mappings(ctx);
@@ -173,7 +172,6 @@ int spu_acquire_runnable(struct spu_context *ctx)
                ret = spu_activate(ctx, 0);
                if (ret)
                        goto out;
-               ctx->state = SPU_STATE_RUNNABLE;
        }
 
        downgrade_write(&ctx->state_sema);
index 6599cba..7e9657e 100644 (file)
@@ -118,6 +118,8 @@ static inline void bind_context(struct spu *spu, struct spu_context *ctx)
        spu->timestamp = jiffies;
        spu_cpu_affinity_set(spu, raw_smp_processor_id());
        spu_switch_notify(spu, ctx);
+
+       ctx->state = SPU_STATE_RUNNABLE;
 }
 
 static inline void unbind_context(struct spu *spu, struct spu_context *ctx)