public inbox for cgroups@vger.kernel.org
 help / color / mirror / Atom feed
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


  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