Re: [PATCH 4/4] sched/fair: Do not migrate due to a sync wakeup on exit

From: Andreas Mohr
Date: Mon Feb 12 2018 - 15:09:57 EST


Hello,

On Mon, Feb 12, 2018 at 02:58:57PM +0000, Mel Gorman wrote:
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 28c8d9c91955..50442697b455 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -5710,8 +5710,14 @@ wake_affine_idle(int this_cpu, int prev_cpu, int sync)
> if (idle_cpu(this_cpu) && cpus_share_cache(this_cpu, prev_cpu))
> return idle_cpu(prev_cpu) ? prev_cpu : this_cpu;
>
> - if (sync && cpu_rq(this_cpu)->nr_running == 1)
> + if (sync && cpu_rq(this_cpu)->nr_running == 1) {
> + /* Avoid tasks exiting pulling parents to new nodes */

Semi-confusing wording (WTH are "pulling parents"? :) - possibly better variant?:
Avoid having exiting tasks pull their parents to new nodes


Good catch, it seems.

HTH,

Andreas Mohr

--
GNU/Linux. It's not the software that's free, it's you.