• Christoph Hellwig's avatar
    [CELL] spufs: rework list management and associated locking · 486acd48
    Christoph Hellwig authored
    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: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
    486acd48
spu.h 25 KB