Messages in this thread | | | Date | Wed, 1 Dec 2021 09:56:21 -0500 | Subject | Re: [PATCH v8 5/6] cgroup/cpuset: Update description of cpuset.cpus.partition in cgroup-v2.rst | From | Waiman Long <> |
| |
On 12/1/21 09:13, Michal Koutný wrote: > On Tue, Nov 30, 2021 at 10:56:34PM -0500, Waiman Long <longman@redhat.com> wrote: >>>> A valid parent partition may distribute out all its CPUs to >>>> its child partitions as long as it is not the root cgroup and >>>> there is no task associated with it. >>> A valid parent partition which isn't root never has tasks in them to begin >>> with. >> I believe there is some corner cases where it is possible to put task in an >> intermediate partition. That is why I put down this statement. > Just mind the threads -- cpuset controller is threaded and having tasks > in inner cgroup nodes is a real scenario. I wouldn't consider it a > corner case. > > [ Actually, the paragraph could IMO be simplified: Right, I shouldn't say corner cases. Having task in an intermediate partition is possible depending on event sequence. I am aware that there are code in the cpuset code to prevent that, but it didn't block all cases. >> A valid parent partition may distribute out all its CPUs to >> its child partitions as long as there is no task associated with it. > Assuming there's always at least one kernel thread in the root cgroup > that can't be migrated anyway.]
I am aware of that. That is why I said root cgroup must have at least one cpu in its "cpuset.cpus.effective".
Cheers, Longman
| |