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/

Reply via email to