• Mike Travis's avatar
    bitmap, irq: add smp_affinity_list interface to /proc/irq · 4b060420
    Mike Travis authored
    Manually adjusting the smp_affinity for IRQ's becomes unwieldy when the
    cpu count is large.
    
    Setting smp affinity to cpus 256 to 263 would be:
    
    	echo 000000ff,00000000,00000000,00000000,00000000,00000000,00000000,00000000 > smp_affinity
    
    instead of:
    
    	echo 256-263 > smp_affinity_list
    
    Think about what it looks like for cpus around say, 4088 to 4095.
    
    We already have many alternate "list" interfaces:
    
    /sys/devices/system/cpu/cpuX/indexY/shared_cpu_list
    /sys/devices/system/cpu/cpuX/topology/thread_siblings_list
    /sys/devices/system/cpu/cpuX/topology/core_siblings_list
    /sys/devices/system/node/nodeX/cpulist
    /sys/devices/pci***/***/local_cpulist
    
    Add a companion interface, smp_affinity_list to use cpu lists instead of
    cpu maps.  This conforms to other companion interfaces where both a map
    and a list interface exists.
    
    This required adding a bitmap_parselist_user() function in a manner
    similar to the bitmap_parse_user() function.
    
    [akpm@linux-foundation.org: make __bitmap_parselist() static]
    Signed-off-by: default avatarMike Travis <travis@sgi.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jack Steiner <steiner@sgi.com>
    Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
    Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4b060420
bitmap.c 34.5 KB