Re: [PATCH v2] sched/core: Don't mix isolcpus and housekeeping CPUs

From: Srikar Dronamraju
Date: Wed Oct 24 2018 - 06:30:13 EST


* Peter Zijlstra <peterz@xxxxxxxxxxxxx> [2018-10-24 12:03:23]:

> It appears to me the for_each_online_node() iteration in
> task_numa_migrate() needs an addition test to see if the selected node
> has any CPUs in the relevant sched_domain _at_all_.
>

Yes, this should work.
Yi Wang does this extra check a little differently.

http://lkml.kernel.org/r/1540177516-38613-1-git-send-email-wang.yi59@xxxxxxxxxx

However the last time I had posted you didn't like that approach.
http://lkml.kernel.org/r/20170406073659.y6ubqriyshax4v4m@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Further, I would think the number of times, we would be calling
sched_setaffinity would be far less than task_numa_migrate().
In the regular case, where we never have isolcpus, we add this extra check.

Also what does it mean for a task to have its cpu affinity set to a mix of
isolcpus and non isolcpus.

Also should we be updating update_numa_stats accordingly? While the problem
may not be apparent there but we are counting the load and compute capacity
of isolcpus.

--
Thanks and Regards
Srikar Dronamraju