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). - yet another random number.. :/ Also, I'm starting to dislike the buddy name; its somewhat over-used. -- 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/