[lkml]   [2012]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug
    There are several issues related to how cpusets are handled during CPU
    hotplug. One of the most annoying and noticeable consequences of this flaw
    is that, after a suspend/resume or hibernation/restore, all non-root cpusets
    will have only 1 cpu (the boot cpu) in their cpusets. Hence the tasks in
    those cpusets get pinned to the boot cpu alone, leading to a drastic
    performance degradation of those tasks/workloads.

    One major user of cpusets is libvirt, which means that after a
    suspend/hibernation cycle, all VMs suddenly end up running terribly slow!

    This patchset solves these problems by reworking the way cpusets are handled
    during CPU hotplug.

    Patches 1 & 2 are cleanups that separate out hotplug handling so that we can
    implement different logic for different hotplug events (CPU/Mem
    online/offline). This also leads to some optimizations and more importantly
    prepares the ground for implementing the cpuset fix for CPU hotplug.

    Patches 3 & 4 are the core of the new solution for cpuset handling for
    CPU hotplug. Patch 3 introduces the infrastructure needed, and Patch 4
    exploits it for hotplug handling.

    Patch 5 adds documentation for the new cpuset handling.
    Patch 6 is an optimization opened up by the previous patches.
    Patch 7 is a trivial removal of an outdated comment.

    Srivatsa S. Bhat (7):
    cpusets, hotplug: Implement cpuset tree traversal in a helper function
    cpusets, hotplug: Restructure functions that are invoked during hotplug
    cpusets: Introduce 'user_cpus_allowed' and rework the semantics of 'cpus_allowed'
    CPU hotplug, cpusets: Workout hotplug handling for cpusets
    Docs, cpusets: Update the cpuset documentation
    cpusets: Optimize the implementation of guarantee_online_cpus()
    cpusets: Remove out-dated comment about cpuset_track_online_cpus

    Documentation/cgroups/cpusets.txt | 43 +++--
    include/linux/cpuset.h | 4
    kernel/cpuset.c | 317 ++++++++++++++++++++++++++++---------
    kernel/sched/core.c | 4
    4 files changed, 274 insertions(+), 94 deletions(-)

    Srivatsa S. Bhat
    IBM Linux Technology Center

     \ /
      Last update: 2012-05-04 21:41    [W:0.023 / U:12.656 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site