Thread (18 messages) 18 messages, 5 authors, 2021-06-17

Re: [PATCH 3/5] cgroup/cpuset: Allow non-top parent partition root to distribute out all CPUs

From: Waiman Long <hidden>
Date: 2021-06-17 20:45:43
Also in: cgroups, linux-kselftest, lkml

On 6/16/21 4:57 PM, Tejun Heo wrote:
Hello,

On Thu, Jun 03, 2021 at 05:24:14PM -0400, Waiman Long wrote:
quoted
@@ -2181,6 +2192,13 @@ static int cpuset_can_attach(struct cgroup_taskset *tset)
  	    (cpumask_empty(cs->cpus_allowed) || nodes_empty(cs->mems_allowed)))
  		goto out_unlock;
  
+	/*
+	 * On default hierarchy, task cannot be moved to a cpuset with empty
+	 * effective cpus.
+	 */
+	if (is_in_v2_mode() && cpumask_empty(cs->effective_cpus))
+		goto out_unlock;
+
This is inconsistent with how other events which leave a root partition
empty is handled. Woudln't it be more consistent to switch the parent to
PRS_ERROR and behave accordingly but allow it to have valid child roots?
 From my point of view, PRS_ERROR is used when cpus are gone because of 
cpu hotplug (offline). It can be a temporary condition that will be 
corrected later on. I don't want to use PRS_ERROR for the particular 
case that the users have explicitly distributed out all the cpus to 
child partitions. I will clarify it in the next version and double check 
to make sure that this rule is consistently apply.

Thanks,
Longman
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help