linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/4] CPU hotplug, cpusets, suspend/resume: Fixes, cleanups and optimizations
@ 2012-05-24 14:16 Srivatsa S. Bhat
  2012-05-24 14:16 ` [PATCH v6 1/4] CPU hotplug, cpusets, suspend: Don't modify cpusets during suspend/resume Srivatsa S. Bhat
                   ` (5 more replies)
  0 siblings, 6 replies; 21+ messages in thread
From: Srivatsa S. Bhat @ 2012-05-24 14:16 UTC (permalink / raw)
  To: a.p.zijlstra, mingo, pjt, paul, akpm
  Cc: rjw, nacc, rientjes, paulmck, tglx, seto.hidetoshi, tj, mschmidt,
	berrange, nikunj, vatsa, liuj97, linux-kernel, linux-pm,
	srivatsa.bhat

Currently the kernel doesn't handle cpusets properly during suspend/resume.
After a resume, all non-root cpusets end up having only 1 cpu (the boot cpu),
causing massive performance degradation of workloads. One major user of cpusets
is libvirt, which means that after a suspend/hibernation cycle, all VMs
suddenly end up running terribly slow!

Also, the kernel moves the tasks from one cpuset to another during CPU hotplug
in the suspend/resume path, leading to a task-management nightmare after
resume.

Patch 1 fixes this by keeping cpusets unmodified in the suspend/resume path.
But to ensure we don't trip over, it keeps the sched domains updated during
every CPU hotplug in the s/r path.
This is a long standing issue and we need to fix up stable kernels too.

The rest of the patches in the series are mostly cleanups/optimizations.

Changelog:

v6: Drop patch 4 (cpusets: Update tasks' cpus_allowed mask upon updates to
    root cpuset) considering how tasks in the root cpuset must be dealt with.
    No changes to other patches.

v5 : Don't do explicit save/restore of cpusets' cpu masks during s/r, to avoid
     the overhead of a new per-cpuset cpu mask to help with that. Also, ensure
     that the sched domains are updated on each hotplug.
     The s/r fix (patch 1) is now distinct from the cleanups (patches 2-5).

v4 : (Never had this version. I skipped from v3 to v5 accidentally).

v3 : Explicitly save and restore cpusets' cpu masks during s/r. Don't alter
     the semantics of regular cpu hotplug.
     http://thread.gmane.org/gmane.linux.kernel/1296339

v2 : http://thread.gmane.org/gmane.linux.documentation/4805/

v1 : thread.gmane.org/gmane.linux.kernel/1250097/

--
 Srivatsa S. Bhat (4):
      CPU hotplug, cpusets, suspend: Don't modify cpusets during suspend/resume
      cpusets, hotplug: Implement cpuset tree traversal in a helper function
      cpusets, hotplug: Restructure functions that are invoked during hotplug
      cpusets: Remove/update outdated comments


  include/linux/cpuset.h |    4 +
 kernel/cpuset.c        |  130 ++++++++++++++++++++++++++++++++++--------------
 kernel/sched/core.c    |   44 ++++++++++++++--
 3 files changed, 132 insertions(+), 46 deletions(-)



Thanks,
Srivatsa S. Bhat
IBM Linux Technology Center


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

end of thread, other threads:[~2012-07-24 14:17 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24 14:16 [PATCH v6 0/4] CPU hotplug, cpusets, suspend/resume: Fixes, cleanups and optimizations Srivatsa S. Bhat
2012-05-24 14:16 ` [PATCH v6 1/4] CPU hotplug, cpusets, suspend: Don't modify cpusets during suspend/resume Srivatsa S. Bhat
2012-06-20 10:44   ` [tip:sched/core] CPU hotplug, cpusets, suspend: Don' t " tip-bot for Srivatsa S. Bhat
2012-07-24 14:14   ` tip-bot for Srivatsa S. Bhat
2012-05-24 14:16 ` [PATCH v6 2/4] cpusets, hotplug: Implement cpuset tree traversal in a helper function Srivatsa S. Bhat
2012-06-20 10:45   ` [tip:sched/core] " tip-bot for Srivatsa S. Bhat
2012-07-24 14:15   ` tip-bot for Srivatsa S. Bhat
2012-05-24 14:16 ` [PATCH v6 3/4] cpusets, hotplug: Restructure functions that are invoked during hotplug Srivatsa S. Bhat
2012-06-20 10:46   ` [tip:sched/core] " tip-bot for Srivatsa S. Bhat
2012-07-24 14:16   ` tip-bot for Srivatsa S. Bhat
2012-05-24 14:17 ` [PATCH v6 4/4] cpusets: Remove/update outdated comments Srivatsa S. Bhat
2012-06-20 10:47   ` [tip:sched/core] " tip-bot for Srivatsa S. Bhat
2012-07-24 14:17   ` tip-bot for Srivatsa S. Bhat
2012-05-25  9:38 ` [PATCH v6 0/4] CPU hotplug, cpusets, suspend/resume: Fixes, cleanups and optimizations Peter Zijlstra
2012-05-25 11:22   ` Srivatsa S. Bhat
2012-06-20  9:36 ` Srivatsa S. Bhat
2012-06-20 11:39   ` Ingo Molnar
2012-06-20 14:17     ` Srivatsa S. Bhat
2012-06-20 14:26       ` Srivatsa S. Bhat
2012-06-20 14:47       ` Ingo Molnar
2012-06-20 16:06         ` 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).