On 05/28/2018 09:12 PM, Waiman Long wrote:
> On 05/24/2018 06:28 AM, Juri Lelli wrote:
>> On 17/05/18 16:55, Waiman Long wrote:
>>
>> [...]
>>
>>> @@ -849,7 +860,12 @@ static void rebuild_sched_domains_locked(void)
>>>      * passing doms with offlined cpu to partition_sched_domains().
>>>      * Anyways, hotplug work item will rebuild sched domains.
>>>      */
>>> -   if (!cpumask_equal(top_cpuset.effective_cpus, cpu_active_mask))
>>> +   if (!top_cpuset.isolation_count &&
>>> +       !cpumask_equal(top_cpuset.effective_cpus, cpu_active_mask))
>>> +           goto out;
>>> +
>>> +   if (top_cpuset.isolation_count &&
>>> +      !cpumask_subset(top_cpuset.effective_cpus, cpu_active_mask))
>>>             goto out;
>> Do we cover the case in which hotplug removed one of the isolated cpus
>> from cpu_active_mask?
> Yes, you are right. That is the remnant of my original patch that allows
> only one isolated_cpus at root. Thanks for spotting that.

I am sorry. I would like to take it back my previous comment. The code
above looks for inconsistency in the state of the effective_cpus mask to
find out if it is racing with a hotplug event. If it is, we can skip the
domain generation as the hotplug event will do that too. The checks are
still valid with the current patchset. So I don't think we need to make
any change here.

Cheers,
Longman

Reply via email to