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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/