Re: [PATCH] sched: fix conflict of schedule domain balance in RT scheduling

From: Hillf Danton
Date: Fri Jun 03 2011 - 10:30:39 EST


On Fri, Jun 3, 2011 at 10:19 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Wed, 2011-06-01 at 21:58 +0800, Hillf Danton wrote:
>
>> And checking for cache-hot is also added to confirm the comment there.
>
> Please read that comment.
>
>> Â Â Â cpu = task_cpu(p);
>> @@ -1253,7 +1253,8 @@ static int find_lowest_rq(struct task_struct *task)
>> Â Â Â Â* We prioritize the last cpu that the task executed on since
>> Â Â Â Â* it is most likely cache-hot in that location.
>> Â Â Â Â*/
>> - Â Â if (cpumask_test_cpu(cpu, lowest_mask))
>> + Â Â if (cpumask_test_cpu(cpu, lowest_mask) &&
>> + Â Â Â Â task_hot(task, task_rq(task)->clock_task, NULL))
>> Â Â Â Â Â Â Â return cpu;
>
> What task_hot() checks for and what we are assuming are two different
> things. In fact, we can disable task_hot() so it always fails. That's
> not what we want.
>
> If the task happens to have ran on a CPU that is in the lowest_mask, we
> want that CPU. Time may not matter. If we know a task ran on a
> particular CPU last, we want to run it there if possible. It may still
> have cache lines for it, even if it has been a long time since it last
> ran.
>
Hi Steve

I note the comment related to cache-hot, it is fine for woken task even though
cache-hot is considered to be nop for RT task, but what dose it help pushing
RT tasks waiting on RQ?

thanks
Hillf
--
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/