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.

However the last time I had posted you didn't like that approach.

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