Re: [PATCH] sched: wakeup buddy

From: Peter Zijlstra
Date: Thu Mar 07 2013 - 12:27:48 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/