linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug
@ 2012-05-04 19:17 Srivatsa S. Bhat
  2012-05-04 19:17 ` [PATCH v2 1/7] cpusets, hotplug: Implement cpuset tree traversal in a helper function Srivatsa S. Bhat
                   ` (7 more replies)
  0 siblings, 8 replies; 32+ messages in thread
From: Srivatsa S. Bhat @ 2012-05-04 19:17 UTC (permalink / raw)
  To: a.p.zijlstra, mingo, pjt, paul, akpm
  Cc: rjw, nacc, paulmck, tglx, seto.hidetoshi, rob, tj, mschmidt,
	berrange, nikunj, vatsa, linux-kernel, linux-doc, linux-pm,
	srivatsa.bhat

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


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2012-05-09  9:13 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-04 19:17 [PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug Srivatsa S. Bhat
2012-05-04 19:17 ` [PATCH v2 1/7] cpusets, hotplug: Implement cpuset tree traversal in a helper function Srivatsa S. Bhat
2012-05-04 19:18 ` [PATCH v2 2/7] cpusets, hotplug: Restructure functions that are invoked during hotplug Srivatsa S. Bhat
2012-05-04 19:18 ` [PATCH v2 3/7] cpusets: Introduce 'user_cpus_allowed' and rework the semantics of 'cpus_allowed' Srivatsa S. Bhat
2012-05-04 19:19 ` [PATCH v2 4/7] CPU hotplug, cpusets: Workout hotplug handling for cpusets Srivatsa S. Bhat
2012-05-04 19:19 ` [PATCH v2 5/7] Docs, cpusets: Update the cpuset documentation Srivatsa S. Bhat
2012-05-04 22:28   ` Rob Landley
2012-05-04 19:20 ` [PATCH v2 6/7] cpusets: Optimize the implementation of guarantee_online_cpus() Srivatsa S. Bhat
2012-05-04 19:20 ` [PATCH v2 7/7] cpusets: Remove out-dated comment about cpuset_track_online_cpus Srivatsa S. Bhat
2012-05-04 19:24 ` [PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug Peter Zijlstra
2012-05-04 19:58   ` Srivatsa S. Bhat
2012-05-04 20:14     ` Peter Zijlstra
2012-05-04 20:28       ` Peter Zijlstra
2012-05-04 20:49         ` Nishanth Aravamudan
2012-05-04 21:01           ` Peter Zijlstra
2012-05-04 21:27             ` Nishanth Aravamudan
2012-05-04 21:32               ` Peter Zijlstra
2012-05-04 21:34               ` Peter Zijlstra
2012-05-04 21:57                 ` Nishanth Aravamudan
2012-05-04 21:38               ` Peter Zijlstra
2012-05-04 20:46       ` Nishanth Aravamudan
2012-05-04 20:56         ` Peter Zijlstra
2012-05-04 21:30           ` Nishanth Aravamudan
2012-05-04 21:44             ` Peter Zijlstra
2012-05-05 15:24               ` Alan Stern
2012-05-05 17:44                 ` Paul E. McKenney
2012-05-05 18:56                   ` Rafael J. Wysocki
2012-05-08 13:07             ` Daniel P. Berrange
2012-05-05  4:39           ` Mike Galbraith
2012-05-05 17:15         ` Srivatsa S. Bhat
2012-05-07 15:26           ` Jiang Liu
2012-05-09  9:12       ` Srivatsa S. Bhat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).