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

Reply via email to