Lines Matching full:gang

177 	struct spu_gang *gang = SPUFS_I(inode)->i_gang;  in unuse_gang()  local
179 if (gang) { in unuse_gang()
183 dead = !--gang->alive; in unuse_gang()
230 ctx = alloc_spu_context(SPUFS_I(dir)->i_gang); /* XXX gang */ in spufs_mkdir()
276 spufs_assert_affinity(unsigned int flags, struct spu_gang *gang, in spufs_assert_affinity() argument
293 gang->aff_ref_ctx && in spufs_assert_affinity()
294 gang->aff_ref_ctx->flags & SPU_CREATE_AFFINITY_MEM) in spufs_assert_affinity()
297 if (gang->aff_flags & AFF_MERGED) in spufs_assert_affinity()
309 !list_is_last(&neighbor->aff_list, &gang->aff_list_head) && in spufs_assert_affinity()
316 if (gang != neighbor->gang) { in spufs_assert_affinity()
322 list_for_each_entry(tmp, &gang->aff_list_head, aff_list) in spufs_assert_affinity()
351 ctx->gang->aff_ref_ctx = ctx; in spufs_set_affinity()
356 &ctx->gang->aff_list_head); in spufs_set_affinity()
360 if (list_is_last(&neighbor->aff_list, &ctx->gang->aff_list_head) in spufs_set_affinity()
372 if (!ctx->gang->aff_ref_ctx) in spufs_set_affinity()
373 ctx->gang->aff_ref_ctx = ctx; in spufs_set_affinity()
384 struct spu_gang *gang = SPUFS_I(inode)->i_gang; in spufs_create_context() local
399 if (gang) { in spufs_create_context()
400 if (!gang->alive) in spufs_create_context()
402 gang->alive++; in spufs_create_context()
408 if (!gang) in spufs_create_context()
410 mutex_lock(&gang->aff_mutex); in spufs_create_context()
411 neighbor = spufs_assert_affinity(flags, gang, aff_filp); in spufs_create_context()
438 mutex_unlock(&gang->aff_mutex); in spufs_create_context()
439 if (ret && gang) in spufs_create_context()
440 gang->alive--; // can't reach 0 in spufs_create_context()
449 struct spu_gang *gang; in spufs_mkgang() local
458 gang = alloc_spu_gang(); in spufs_mkgang()
460 SPUFS_I(inode)->i_gang = gang; in spufs_mkgang()
461 if (!gang) { in spufs_mkgang()
541 /* only threads can be underneath a gang */ in spufs_create()