diff options
author | Andre Detsch <adetsch@br.ibm.com> | 2008-10-20 20:16:09 -0400 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-10-20 20:16:09 -0400 |
commit | 34318c253b861f82bd4a2956e6c8ae8ee2c3aae7 (patch) | |
tree | acf2a66a3d569de53a432e452f278b4ebb9b0def | |
parent | 10baa26c8ccba6f100397c9ba6534be175762e8d (diff) |
powerpc/spufs: Explain conditional decrement of aff_sched_count
This patch adds a comment to clarify why atomic_dec_if_positive is being used
to decrement gang's aff_sched_count on SPU context unbind.
Signed-off-by: Andre Detsch <adetsch@br.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/sched.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c index 6253df5a436e..2ad914c47493 100644 --- a/arch/powerpc/platforms/cell/spufs/sched.c +++ b/arch/powerpc/platforms/cell/spufs/sched.c | |||
@@ -444,6 +444,11 @@ static void spu_unbind_context(struct spu *spu, struct spu_context *ctx) | |||
444 | atomic_dec(&cbe_spu_info[spu->node].reserved_spus); | 444 | atomic_dec(&cbe_spu_info[spu->node].reserved_spus); |
445 | 445 | ||
446 | if (ctx->gang) | 446 | if (ctx->gang) |
447 | /* | ||
448 | * If ctx->gang->aff_sched_count is positive, SPU affinity is | ||
449 | * being considered in this gang. Using atomic_dec_if_positive | ||
450 | * allow us to skip an explicit check for affinity in this gang | ||
451 | */ | ||
447 | atomic_dec_if_positive(&ctx->gang->aff_sched_count); | 452 | atomic_dec_if_positive(&ctx->gang->aff_sched_count); |
448 | 453 | ||
449 | spu_switch_notify(spu, NULL); | 454 | spu_switch_notify(spu, NULL); |