Re: [PATCH] sched: wakeup buddy

From: Michael Wang
Date: Thu Mar 07 2013 - 21:51:16 EST


On 03/08/2013 01:27 AM, Peter Zijlstra wrote:
> On Wed, 2013-03-06 at 15:06 +0800, Michael Wang wrote:
>> @@ -3351,7 +3420,13 @@ select_task_rq_fair(struct task_struct *p, int
>> sd_flag, int wake_flags)
>> }
>>
>> if (affine_sd) {
>> - if (cpu != prev_cpu && wake_affine(affine_sd, p,
>> sync))
>> + /*
>> + * If current and p are wakeup related, and balance is
>> + * guaranteed, we will try to make them running
>> closely
>> + * to gain cache benefit.
>> + */
>> + if (cpu != prev_cpu && wakeup_related(p) &&
>> + wake_affine(affine_sd, p,
>> sync))
>> prev_cpu = cpu;
>
>
> OK, so there's two issues I have with all this are:
>
> - it completely wrecks task placement for things like interrupts (sadly
> I don't
> have a good idea about a benchmark where this matters).

I don't get this point...could you please give more details?

> - yet another random number.. :/

Correct...well, but that also means flexibility, I suppose different
system and workload will need some tuning on this knob to gain more
benefit, by default, they will gain some benefit, small or big.

>
> Also, I'm starting to dislike the buddy name; its somewhat over-used.
>

I have to agree :), any suggestions?

Regards,
Michael Wang

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