diff options
author | Arnd Bergmann <arnd@arndb.de> | 2006-01-04 20:31:28 +0100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-09 15:44:43 +1100 |
commit | 8837d9216f99048636fbb2c11347358e99e06181 (patch) | |
tree | 26e5cab20e59879f5e3271ea73c0320ae31da140 /arch/powerpc/platforms/cell/spufs/sched.c | |
parent | 3f51dd91c80746a5cf76f8c4a77bfc88aa82bb9e (diff) | |
download | op-kernel-dev-8837d9216f99048636fbb2c11347358e99e06181.zip op-kernel-dev-8837d9216f99048636fbb2c11347358e99e06181.tar.gz |
[PATCH] spufs: clean up use of bitops
checking bits manually might not be synchonized with
the use of set_bit/clear_bit. Make sure we always use
the correct bitops by removing the unnecessary
identifiers.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/sched.c')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/sched.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c index 719ff27..c34198c 100644 --- a/arch/powerpc/platforms/cell/spufs/sched.c +++ b/arch/powerpc/platforms/cell/spufs/sched.c @@ -214,14 +214,14 @@ static void spu_reaper(void *data) down_write(&ctx->state_sema); spu = ctx->spu; - if (spu && (ctx->flags & SPU_CONTEXT_PREEMPT)) { + if (spu && test_bit(SPU_CONTEXT_PREEMPT, &ctx->flags)) { if (atomic_read(&spu->rq->prio.nr_blocked)) { pr_debug("%s: spu=%d\n", __func__, spu->number); ctx->ops->runcntl_stop(ctx); spu_deactivate(ctx); wake_up_all(&ctx->stop_wq); } else { - clear_bit(SPU_CONTEXT_PREEMPT_nr, &ctx->flags); + clear_bit(SPU_CONTEXT_PREEMPT, &ctx->flags); } } up_write(&ctx->state_sema); @@ -234,7 +234,7 @@ static void schedule_spu_reaper(struct spu_runqueue *rq, struct spu *spu) unsigned long now = jiffies; unsigned long expire = spu->timestamp + SPU_MIN_TIMESLICE; - set_bit(SPU_CONTEXT_PREEMPT_nr, &ctx->flags); + set_bit(SPU_CONTEXT_PREEMPT, &ctx->flags); INIT_WORK(&ctx->reap_work, spu_reaper, ctx); if (time_after(now, expire)) schedule_work(&ctx->reap_work); @@ -250,7 +250,7 @@ static void check_preempt_active(struct spu_runqueue *rq) list_for_each(p, &rq->active_list) { struct spu *spu = list_entry(p, struct spu, sched_list); struct spu_context *ctx = spu->ctx; - if (!(ctx->flags & SPU_CONTEXT_PREEMPT)) { + if (!test_bit(SPU_CONTEXT_PREEMPT, &ctx->flags)) { if (!worst || (spu->prio > worst->prio)) { worst = spu; } |