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/