From: Waiman Long <longman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "Michal Koutný" <mkoutny-IBi9RG/b67k@public.gmane.org>,
"Zefan Li" <lizefan.x-EC8Uxl6Npydl57MIdRCFDg@public.gmane.org>,
"Johannes Weiner"
<hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
"Jonathan Corbet" <corbet-T1hC0tSOHrs@public.gmane.org>,
"Shuah Khan" <shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kselftest-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Juri Lelli" <juri.lelli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Valentin Schneider"
<vschneid-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Frederic Weisbecker"
<frederic-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: Re: [RFC PATCH 0/5] cgroup/cpuset: A new "isolcpus" paritition
Date: Fri, 5 May 2023 12:25:41 -0400 [thread overview]
Message-ID: <759603dd-7538-54ad-e63d-bb827b618ae3@redhat.com> (raw)
In-Reply-To: <ZFUo5IYAIwTEKR4_-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
On 5/5/23 12:03, Tejun Heo wrote:
> On Wed, May 03, 2023 at 11:01:36PM -0400, Waiman Long wrote:
>> On 5/2/23 18:27, Michal Koutný wrote:
>>> On Tue, May 02, 2023 at 05:26:17PM -0400, Waiman Long <longman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
>>>> In the new scheme, the available cpus are still directly passed down to a
>>>> descendant cgroup. However, isolated CPUs (or more generally CPUs dedicated
>>>> to a partition) have to be exclusive. So what the cpuset.cpus.reserve does
>>>> is to identify those exclusive CPUs that can be excluded from the
>>>> effective_cpus of the parent cgroups before they are claimed by a child
>>>> partition. Currently this is done automatically when a child partition is
>>>> created off a parent partition root. The new scheme will break it into 2
>>>> separate steps without the requirement that the parent of a partition has to
>>>> be a partition root itself.
>>> new scheme
>>> 1st step:
>>> echo C >p/cpuset.cpus.reserve
>>> # p/cpuset.cpus.effective == A-C (1)
>>> 2nd step (claim):
>>> echo C' >p/c/cpuset.cpus # C'⊆C
>>> echo root >p/c/cpuset.cpus.partition
>> It is something like that. However, the current scheme of automatic
>> reservation is also supported, i.e. cpuset.cpus.reserve will be set
>> automatically when the child cgroup becomes a valid partition as long as the
>> cpuset.cpus.reserve file is not written to. This is for backward
>> compatibility.
>>
>> Once it is written to, automatic mode will end and users have to manually
>> set it afterward.
> I really don't like the implicit switching behavior. This is interface
> behavior modifying internal state that userspace can't view or control
> directly. Regardless of how the rest of the discussion develops, this part
> should be improved (e.g. would it work to always try to auto-reserve if the
> cpu isn't already reserved?).
After some more thought yesterday, I have a slight change in my design
that auto-reserve as it is now will stay for partitions that have a
partition root parent. For remote partition that doesn't have a
partition root parent, its creation will require pre-allocating
additional CPUs into top_cpuset's cpuset.cpus.reserve first. So there
will be no change in behavior for existing use cases whether a remote
partition is created or not.
Cheers,
Longman
next prev parent reply other threads:[~2023-05-05 16:25 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-12 15:37 [RFC PATCH 0/5] cgroup/cpuset: A new "isolcpus" paritition Waiman Long
2023-04-12 19:28 ` Tejun Heo
[not found] ` <1ce6a073-e573-0c32-c3d8-f67f3d389a28@redhat.com>
2023-04-12 20:22 ` Tejun Heo
2023-04-12 20:33 ` Waiman Long
2023-04-13 0:03 ` Tejun Heo
2023-04-13 0:26 ` Waiman Long
[not found] ` <cd4c3f92-4a01-e636-7390-8c6a3d0cfe6c-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-04-13 0:33 ` Tejun Heo
2023-04-13 0:55 ` Waiman Long
[not found] ` <1b8d9128-d076-7d37-767d-11d6af314662-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-04-13 1:17 ` Tejun Heo
2023-04-13 1:55 ` Waiman Long
[not found] ` <9862da55-5f41-24c3-f3bb-4045ccf24b2e-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-04-14 1:22 ` Waiman Long
[not found] ` <226cb2da-e800-6531-4e57-cbf991022477-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-04-14 16:54 ` Tejun Heo
2023-04-14 17:29 ` Waiman Long
2023-04-14 17:34 ` Tejun Heo
2023-04-14 17:38 ` Waiman Long
2023-04-14 19:06 ` Waiman Long
2023-05-02 18:01 ` Michal Koutný
2023-05-02 21:26 ` Waiman Long
2023-05-02 22:27 ` Michal Koutný
2023-05-04 3:01 ` Waiman Long
[not found] ` <deb7b684-3d7c-b3ae-7b36-5b7ba2dd8001-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-05-05 16:03 ` Tejun Heo
[not found] ` <ZFUo5IYAIwTEKR4_-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
2023-05-05 16:25 ` Waiman Long [this message]
2023-05-08 1:03 ` Waiman Long
2023-05-22 19:49 ` Tejun Heo
2023-05-28 21:18 ` Waiman Long
2023-06-05 18:03 ` Tejun Heo
[not found] ` <ZH4jfmypOXGJPu0D-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
2023-06-05 20:00 ` Waiman Long
2023-06-05 20:27 ` Tejun Heo
2023-06-06 2:47 ` Waiman Long
[not found] ` <a2220c9f-7a8d-da82-ecc0-b39f3807408c-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2023-06-06 19:58 ` Tejun Heo
[not found] ` <ZH-P7X_yjnVfhy7b-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
2023-06-06 20:11 ` Waiman Long
2023-06-06 20:13 ` 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=759603dd-7538-54ad-e63d-bb827b618ae3@redhat.com \
--to=longman-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=corbet-T1hC0tSOHrs@public.gmane.org \
--cc=frederic-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=juri.lelli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kselftest-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lizefan.x-EC8Uxl6Npydl57MIdRCFDg@public.gmane.org \
--cc=mkoutny-IBi9RG/b67k@public.gmane.org \
--cc=shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=vschneid-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox