]> bbs.cooldavid.org Git - net-next-2.6.git/commit
[CELL] spufs: rework list management and associated locking
authorChristoph Hellwig <hch@lst.de>
Fri, 20 Jul 2007 19:39:54 +0000 (21:39 +0200)
committerArnd Bergmann <arnd@klappe.arndb.de>
Fri, 20 Jul 2007 19:42:28 +0000 (21:42 +0200)
commit486acd4850dde6d2f8c7f431432f3914c4bfb5f5
tree610d93bad54ca3626a55ae78c9cde4a302aecc45
parent1474855d0878cced6f39f51f3c2bd7428b44cb1e
[CELL] spufs: rework list management and associated locking

This sorts out the various lists and related locks in the spu code.

In detail:

 - the per-node free_spus and active_list are gone.  Instead struct spu
   gained an alloc_state member telling whether the spu is free or not
 - the per-node spus array is now locked by a per-node mutex, which
   takes over from the global spu_lock and the per-node active_mutex
 - the spu_alloc* and spu_free function are gone as the state change is
   now done inline in the spufs code.  This allows some more sharing of
   code for the affinity vs normal case and more efficient locking
 - some little refactoring in the affinity code for this locking scheme

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
arch/powerpc/platforms/cell/spu_base.c
arch/powerpc/platforms/cell/spufs/sched.c
include/asm-powerpc/spu.h