All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zefan <lizefan@huawei.com>
To: Tejun Heo <tj@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>, cgroups <cgroups@vger.kernel.org>
Subject: [PATCH v3 00/12] cpuset: separate configured masks and effective masks
Date: Wed, 9 Jul 2014 16:46:44 +0800	[thread overview]
Message-ID: <53BD0174.4060002@huawei.com> (raw)

This patcheset introduces behavior changes, but only for default hierarchy

- We introduce new interfaces cpuset.effective_cpus and cpuset.effective_mems,
  while cpuset.cpus and cpuset.mems will be configured masks.

- The configured masks can be changed by writing cpuset.cpus/mems only. They
  won't be changed when hotplug happens.

- Users can config cpus and mems without restrictions from the parent cpuset.
  effective masks will enforce the hierarchical behavior.

- Users can also config cpus and mems to have already offlined CPU/nodes.

- When a CPU/node is onlined, it will be brought back to the effective masks
  if it's in the configured masks.

- We build sched domains based on effective cpumask but not configured cpumask.

v3:
- rebased against "cgroup: remove sane_behavior support on non-default hierarchies"
- addressed previous review comments
- adjusted some code, comment and changelog slightly

v2:
- fixed two bugs
- made changelogs more verbose
- added more comments
- changed cs->real_{mems,cpus}_allowed to cs->effective_{mems, cpus}
- splitted "cpuset: enable onlined cpu/node in effective masks" into 2 patches
- exported cpuset.effective_{cpus,mems} unconditionally


Li Zefan (12):
  cpuset: add cs->effective_cpus and cs->effective_mems
  cpuset: update cpuset->effective_{cpus,mems} at hotplug
  cpuset: update cs->effective_{cpus,mems} when config changes
  cpuset: inherit ancestor's masks if effective_{cpus,mems} becomes
    empty
  cpuset: use effective cpumask to build sched domains
  cpuset: initialize top_cpuset's configured masks at mount
  cpuset: apply cs->effective_{cpus,mems}
  cpuset: make cs->{cpus,mems}_allowed as user-configured masks
  cpuset: refactor cpuset_hotplug_update_tasks()
  cpuset: enable onlined cpu/node in effective masks
  cpuset: allow writing offlined masks to cpuset.cpus/mems
  cpuset: export effective masks to userspace

 kernel/cpuset.c | 493 ++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 304 insertions(+), 189 deletions(-)

-- 
1.8.0.2


             reply	other threads:[~2014-07-09  8:46 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-09  8:46 Li Zefan [this message]
2014-07-09  8:47 ` [PATCH v3 01/12] cpuset: add cs->effective_cpus and cs->effective_mems Li Zefan
     [not found]   ` <53BD0187.9060309-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-07-09 16:47     ` Tejun Heo
2014-07-09 16:47       ` Tejun Heo
2014-07-09  8:47 ` [PATCH v3 02/12] cpuset: update cpuset->effective_{cpus,mems} at hotplug Li Zefan
2014-07-09  8:47 ` [PATCH v3 03/12] cpuset: update cs->effective_{cpus,mems} when config changes Li Zefan
     [not found]   ` <53BD01A1.2060302-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-07-09 19:57     ` Tejun Heo
2014-07-09 19:57       ` Tejun Heo
2014-07-09  8:47 ` [PATCH v3 04/12] cpuset: inherit ancestor's masks if effective_{cpus,mems} becomes empty Li Zefan
2014-07-09  8:47 ` [PATCH v3 05/12] cpuset: use effective cpumask to build sched domains Li Zefan
2014-07-09 19:18   ` Tejun Heo
     [not found] ` <53BD0174.4060002-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-07-09  8:48   ` [PATCH v3 06/12] cpuset: initialize top_cpuset's configured masks at mount Li Zefan
2014-07-09  8:48     ` Li Zefan
2014-07-09 20:12   ` [PATCH v3 00/12] cpuset: separate configured masks and effective masks Tejun Heo
2014-07-09 20:12     ` Tejun Heo
2014-07-09  8:48 ` [PATCH v3 07/12] cpuset: apply cs->effective_{cpus,mems} Li Zefan
2014-07-09  8:48 ` [PATCH v3 08/12] cpuset: make cs->{cpus,mems}_allowed as user-configured masks Li Zefan
2014-07-09  8:48 ` [PATCH v3 09/12] cpuset: refactor cpuset_hotplug_update_tasks() Li Zefan
2014-07-09  8:49 ` [PATCH v3 10/12] cpuset: enable onlined cpu/node in effective masks Li Zefan
2014-07-09  8:49 ` [PATCH v3 11/12] cpuset: allow writing offlined masks to cpuset.cpus/mems Li Zefan
2014-07-09  8:49 ` [PATCH v3 12/12] cpuset: export effective masks to userspace Li Zefan
     [not found]   ` <53BD0215.8060305-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-07-09 20:15     ` Tejun Heo
2014-07-09 20:15       ` Tejun Heo
     [not found]       ` <20140709201549.GD21090-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-07-09 20:24         ` Tejun Heo
2014-07-09 20:24           ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53BD0174.4060002@huawei.com \
    --to=lizefan@huawei.com \
    --cc=cgroups@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.