powerpc/spufs: don't extend time time slice if context is not in spu_run

An spu context shouldn't get an extra tick if the time slice code
couldn't find something else to run. This means contexts that are not
within spu_run (ie, SPU_SCHED_SPU_RUN is cleared) will not receive
extra ticks while we have no other contexts waiting.

Signed-off-by: Luke Browning <lukebrowning@us.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
This commit is contained in:
Luke Browning 2008-06-06 11:26:54 +08:00 committed by Jeremy Kerr
parent 46deed69b3
commit 2442a8ba5a

View File

@ -899,7 +899,8 @@ static noinline void spusched_tick(struct spu_context *ctx)
spu_add_to_rq(ctx);
} else {
spu_context_nospu_trace(spusched_tick__newslice, ctx);
ctx->time_slice++;
if (!ctx->time_slice)
ctx->time_slice++;
}
out:
spu_release(ctx);