• Rik van Riel's avatar
    cpusets, isolcpus: exclude isolcpus from load balancing in cpusets · 47b8ea71
    Rik van Riel authored
    Ensure that cpus specified with the isolcpus= boot commandline
    option stay outside of the load balancing in the kernel scheduler.
    
    Operations like load balancing can introduce unwanted latencies,
    which is exactly what the isolcpus= commandline is there to prevent.
    
    Previously, simply creating a new cpuset, without even touching the
    cpuset.cpus field inside the new cpuset, would undo the effects of
    isolcpus=, by creating a scheduler domain spanning the whole system,
    and setting up load balancing inside that domain. The cpuset root
    cpuset.cpus file is read-only, so there was not even a way to undo
    that effect.
    
    This does not impact the majority of cpusets users, since isolcpus=
    is a fairly specialized feature used for realtime purposes.
    
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Clark Williams <williams@redhat.com>
    Cc: Li Zefan <lizefan@huawei.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
    Cc: cgroups@vger.kernel.org
    Signed-off-by: default avatarRik van Riel <riel@redhat.com>
    Tested-by: default avatarDavid Rientjes <rientjes@google.com>
    Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarDavid Rientjes <rientjes@google.com>
    Acked-by: default avatarZefan Li <lizefan@huawei.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    47b8ea71
cpuset.c 75.7 KB