aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorGravatar Andre Detsch <adetsch@br.ibm.com> 2008-10-21 11:16:09 +1100
committerGravatar Jeremy Kerr <jk@ozlabs.org> 2008-10-21 11:16:09 +1100
commit34318c253b861f82bd4a2956e6c8ae8ee2c3aae7 (patch)
treeacf2a66a3d569de53a432e452f278b4ebb9b0def /arch/powerpc
parentpowerpc/spufs: Improve search of node for contexts with SPU affinity (diff)
downloadlinux-34318c253b861f82bd4a2956e6c8ae8ee2c3aae7.tar.gz
linux-34318c253b861f82bd4a2956e6c8ae8ee2c3aae7.tar.bz2
linux-34318c253b861f82bd4a2956e6c8ae8ee2c3aae7.zip
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>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/cell/spufs/sched.c5
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)
atomic_dec(&cbe_spu_info[spu->node].reserved_spus);
if (ctx->gang)
+ /*
+ * If ctx->gang->aff_sched_count is positive, SPU affinity is
+ * being considered in this gang. Using atomic_dec_if_positive
+ * allow us to skip an explicit check for affinity in this gang
+ */
atomic_dec_if_positive(&ctx->gang->aff_sched_count);
spu_switch_notify(spu, NULL);