Re: [PATCH v5] sched/deadline: support dl task migration during cpu hotplug
From: Wanpeng Li
Date: Wed Nov 19 2014 - 18:30:28 EST
Hi Juri,
On Wed, Nov 19, 2014 at 01:49:20PM +0000, Juri Lelli wrote:
[...]
>>>>>> @@ -1185,8 +1223,9 @@ static int find_later_rq(struct task_struct *task)
>>>>>> * We have to consider system topology and task affinity
>>>>>> * first, then we can look for a suitable cpu.
>>>>>> */
>>>>>> - cpumask_copy(later_mask, task_rq(task)->rd->span);
>>>>>> - cpumask_and(later_mask, later_mask, cpu_active_mask);
>>>>>> + cpumask_copy(later_mask, cpu_active_mask);
>>>>>> + if (likely(task_rq(task)->online))
>>>>>> + cpumask_and(later_mask, later_mask, task_rq(task)->rd->span);
>>>>> So, here you consider the span only when the task_rq is online,
>>>>> but there might be others cpus still online belonging to the same
>>>>> rd->span. And you have to consider them when migrating. Actually,
>>>>> migration must still be restricted to the online cpus of task's
>>>>> original rd->span, or I fear you can break clustered scheduling.
>>>> Sorry, what's clustered scheduling?
>>>>
>>> It's a scheduling configuration in which you restrict tasks to run in
>>> disjoint subsets of system CPUs. Translated to what we have, it's what
>>> you get when you create exclusive cpusets (each one gets a rd) and
>>> associate tasks to them.
>>>
>>> My concern in what above is that you may end up breaking this setup
>>> if you don't consider the sd->span when one of the CPUs of your
>>> cpuset is off. But, Pang Xunlei patches may solve this, I still have to
>>> check :/.
>>
>> Thanks for your explanation. Could you point out which one of Pang's
>> patchset solve this? ;-)
>>
>
>https://lkml.org/lkml/2014/11/17/443 may help with this, although I
>still have to properly look at it.
>
Thanks for your pointing out. Btw, could you review below patches of
mine for deadline? Great thanks for your time. ;-)
https://lkml.org/lkml/2014/11/18/1006
https://lkml.org/lkml/2014/11/19/182
https://lkml.org/lkml/2014/11/19/187
Regards,
Wanpeng Li
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/