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(-) Thanks, Srivatsa S. Bhat IBM Linux Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html