On Thu, Mar 26, 2020 at 12:57 PM Waiman Long <longman@xxxxxxxxxx> wrote: > > On 3/26/20 3:44 PM, Joel Fernandes wrote: > > Hi Tejun, > > > > On Thu, Mar 26, 2020 at 03:20:35PM -0400, Tejun Heo wrote: > >> On Thu, Mar 26, 2020 at 03:16:23PM -0400, Joel Fernandes (Google) wrote: > >>> This deliberately changes the behavior of the per-cpuset > >>> cpus file to not be effected by hotplug. When a cpu is offlined, > >>> it will be removed from the cpuset/cpus file. When a cpu is onlined, > >>> if the cpuset originally requested that that cpu was part of the cpuset, > >>> that cpu will be restored to the cpuset. The cpus files still > >>> have to be hierachical, but the ranges no longer have to be out of > >>> the currently online cpus, just the physically present cpus. > >> This is already the behavior on cgroup2 and I don't think we want to > >> introduce this big a behavior change to cgroup1 cpuset at this point. > > It is not really that big a change. Please go over the patch, we are not > > changing anything with how ->cpus_allowed works and interacts with the rest > > of the system and the scheduler. We have just introduced a new mask to keep > > track of which CPUs were requested without them being affected by hotplug. On > > CPU onlining, we restore the state of ->cpus_allowed as not be affected by > > hotplug. > > > > There's 3 companies that have this issue so that should tell you something. > > We don't want to carry this patch forever. Many people consider the hotplug > > behavior to be completely broken. > > > I think Tejun is concerned about a change in the default behavior of > cpuset v1. > > There is a special v2 mode for cpuset that is enabled by the mount > option "cpuset_v2_mode". This causes the cpuset v1 to adopt some of the > v2 behavior. I introduced this v2 mode a while back to address, I think, > a similar concern. Could you try that to see if it is able to address > your problem? If not, you can make some code adjustment within the > framework of the v2 mode. As long as it is an opt-in, I think we are > open to further change. I am surprised if anyone actually wants this behavior, we (Chrome OS) found out about it accidentally, and then found that Android had been carrying a patch to fix it. And if it were a desirable behavior then why isn't it an option in v2? > > Cheers, > Longman >