• Max Krasnyansky's avatar
    sched: arch_reinit_sched_domains() must destroy domains to force rebuild · dfb512ec
    Max Krasnyansky authored
    What I realized recently is that calling rebuild_sched_domains() in
    arch_reinit_sched_domains() by itself is not enough when cpusets are enabled.
    partition_sched_domains() code is trying to avoid unnecessary domain rebuilds
    and will not actually rebuild anything if new domain masks match the old ones.
    
    What this means is that doing
         echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
    on a system with cpusets enabled will not take affect untill something changes
    in the cpuset setup (ie new sets created or deleted).
    
    This patch fixes restore correct behaviour where domains must be rebuilt in
    order to enable MC powersaving flags.
    
    Test on quad-core Core2 box with both CONFIG_CPUSETS and !CONFIG_CPUSETS.
    Also tested on dual-core Core2 laptop. Lockdep is happy and things are working
    as expected.
    Signed-off-by: default avatarMax Krasnyansky <maxk@qualcomm.com>
    Tested-by: default avatarVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    dfb512ec
cpuset.h 4.08 KB