Re: [PATCH v13 01/11] cpuset: Enable cpuset controller in default hierarchy

From: Tom Hromatka
Date: Mon Oct 15 2018 - 15:11:37 EST




On 10/15/2018 12:41 PM, Waiman Long wrote:
On 10/15/2018 02:31 PM, Tom Hromatka wrote:

On 10/12/2018 11:55 AM, Waiman Long wrote:
Given the fact that thread mode had been merged into 4.14, it is now
time to enable cpuset to be used in the default hierarchy (cgroup v2)
as it is clearly threaded.

The cpuset controller had experienced feature creep since its
introduction more than a decade ago. Besides the core cpus and mems
control files to limit cpus and memory nodes, there are a bunch of
additional features that can be controlled from the userspace. Some of
the features are of doubtful usefulness and may not be actively used.

This patch enables cpuset controller in the default hierarchy with
a minimal set of features, namely just the cpus and mems and their
effective_* counterparts. We can certainly add more features to the
default hierarchy in the future if there is a real user need for them
later on.
I really appreciate this simplification of the cpuset controller.

I currently have an in-house customer that is unhappy with the
way cgroups cpuset v1 handles offlined CPUs. This patchset makes two
significant improvements over current cpuset v1 behavior. 1) It allows
for offlined CPUs to be added to a cpuset (even though the CPU is
offline) and 2) it restores CPUs back to the requested cpuset when they
come back online. This is more intuitive and secure for my customers.
Thank you!

In part because of this patchset, I plan on proposing similar behavior
for offlined CPUs to cpuset v1.

Thanks.

Tom
If you are just talking about the ability for cpuset to revert back to
its original state when an offlined CPU becomes online again, that
capability can be activated in v1 using the "cpuset_v2_mode" mount
option when mounting the cpuset cgroup. However, that is not the default
for v1.

-Longman



Thanks!!! I didn't realize cpuset_v2_mode exists. (I see you
added it last year. Thank you!) I'll try it out and see if it
meets my customer's needs.

Tom