[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180723162954.GA2699@linux.vnet.ibm.com>
Date: Mon, 23 Jul 2018 09:29:54 -0700
From: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Mel Gorman <mgorman@...hsingularity.net>,
Rik van Riel <riel@...riel.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH v2 00/19] Fixes for sched/numa_balancing
* Peter Zijlstra <peterz@...radead.org> [2018-07-23 17:21:47]:
> On Mon, Jul 23, 2018 at 08:09:55AM -0700, Srikar Dronamraju wrote:
>
> > > > sched/numa: Stop multiple tasks from moving to the cpu at the same time
> >
> > This patch has go-ahead from Mel and Rik and no outstanding comments.
>
> I left it out because it's part of the big xchg() mess.
>
> In particular:
>
> + if (xchg(&rq->numa_migrate_on, 1))
> + return;
> +
> + if (env->best_cpu != -1) {
> + rq = cpu_rq(env->best_cpu);
> + WRITE_ONCE(rq->numa_migrate_on, 0);
> + }
>
> I'm again confused by clearing numa_migrate_on at this point..
First task choose a cpu to swap/migrate, sets the cpu to best_cpu and
also numa_migrate_on. Next it finds a better cpu to swap/move. Now if
the task is able to move to the better cpu, then it should clear
numa_migrate_on on the previous best_cpu.
If we dont reset numa_migrate_on on finding a better cpu, the
numa_migrate_on stays set for the previous cpu, causing previous cpu to
never be a target of numa balance.
>
> > > > sched/numa: Updation of scan period need not be in lock
> >
> > I didnt see any comments for this apart from an ack from Rik.
> > + It thought it was trivial and shouldnt have any side-effect.
>
> Oh, my bad I actually have this one.
>
Powered by blists - more mailing lists