• Mark Nutter's avatar
    [POWERPC] spufs: scheduler support for NUMA. · a68cf983
    Mark Nutter authored
    This patch adds NUMA support to the the spufs scheduler.
    
    The new arch/powerpc/platforms/cell/spufs/sched.c is greatly
    simplified, in an attempt to reduce complexity while adding
    support for NUMA scheduler domains.  SPUs are allocated starting
    from the calling thread's node, moving to others as supported by
    current->cpus_allowed.  Preemption is gone as it was buggy, but
    should be re-enabled in another patch when stable.
    
    The new arch/powerpc/platforms/cell/spu_base.c maintains idle
    lists on a per-node basis, and allows caller to specify which
    node(s) an SPU should be allocated from, while passing -1 tells
    spu_alloc() that any node is allowed.
    
    Since the patch removes the currently implemented preemptive
    scheduling, it is technically a regression, but practically
    all users have since migrated to this version, as it is
    part of the IBM SDK and the yellowdog distribution, so there
    is not much point holding it back while the new preemptive
    scheduling patch gets delayed further.
    Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    a68cf983
spu_base.c 18 KB