[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190729072845.GC7168@linux.vnet.ibm.com>
Date: Mon, 29 Jul 2019 12:58:45 +0530
From: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
To: "Huang, Ying" <ying.huang@...el.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Rik van Riel <riel@...hat.com>,
Mel Gorman <mgorman@...e.de>, jhladky@...hat.com,
lvenanci@...hat.com, Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH RESEND] autonuma: Fix scan period updating
> >>
> >> if (lr_ratio >= NUMA_PERIOD_THRESHOLD)
> >> slow down scanning
> >> else if (sp_ratio >= NUMA_PERIOD_THRESHOLD) {
> >> if (NUMA_PERIOD_SLOTS - lr_ratio >= NUMA_PERIOD_THRESHOLD)
> >> speed up scanning
>
> Thought about this again. For example, a multi-threads workload runs on
> a 4-sockets machine, and most memory accesses are shared. The optimal
> situation will be pseudo-interleaving, that is, spreading memory
> accesses evenly among 4 NUMA nodes. Where "share" >> "private", and
> "remote" > "local". And we should slow down scanning to reduce the
> overhead.
>
> What do you think about this?
If all 4 nodes have equal access, then all 4 nodes will be active nodes.
>From task_numa_fault()
if (!priv && !local && ng && ng->active_nodes > 1 &&
numa_is_active_node(cpu_node, ng) &&
numa_is_active_node(mem_node, ng))
local = 1;
Hence all accesses will be accounted as local. Hence scanning would slow
down.
--
Thanks and Regards
Srikar Dronamraju
Powered by blists - more mailing lists