Messages in this thread | | | Date | Thu, 17 Sep 2015 11:52:45 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 3/3] sched: Implement interface for cgroup unified hierarchy |
| |
Hello,
On Thu, Sep 17, 2015 at 05:10:49PM +0200, Peter Zijlstra wrote: > Subject: sched: Refuse to unplug a CPU if this will violate user task affinity > > Its bad policy to allow unplugging a CPU for which a user set explicit > affinity, either strictly on this CPU or in case this was the last > online CPU in its mask. > > Either would end up forcing the thread on a random other CPU, violating > the sys_sched_setaffinity() constraint.
Shouldn't this at least handle suspend differently? Otherwise any userland task would be able to block suspend.
> Disallow this by default; root might not be aware of all user > affinities, but can negotiate and change affinities for all tasks. > > Provide a sysctl to go back to the old behaviour.
I don't think a sysctl is a good way to control this as that breaks the invariant - all tasks always have some cpus online in its affinity mask - which otherwise can be guaranteed.
If we wanna go this way, let's plesae start the discussion in a separate thread with detailed explanation on implications of the change.
Thanks.
-- tejun
| |