[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1611291505340.4358@nanos>
Date: Tue, 29 Nov 2016 15:08:10 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Michal Hocko <mhocko@...nel.org>
cc: Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-kernel@...r.kernel.org, rt@...utronix.de,
Andrew Morton <akpm@...ux-foundation.org>,
Vlastimil Babka <vbabka@...e.cz>,
Mel Gorman <mgorman@...hsingularity.net>,
Johannes Weiner <hannes@...xchg.org>, linux-mm@...ck.org
Subject: Re: [PATCH 08/22] mm/vmstat: Avoid on each online CPU loops
On Mon, 28 Nov 2016, Michal Hocko wrote:
> On Sun 27-11-16 00:13:36, Sebastian Andrzej Siewior wrote:
> [...]
> > static void __init init_cpu_node_state(void)
> > {
> > - int cpu;
> > + int node;
> >
> > - for_each_online_cpu(cpu)
> > - node_set_state(cpu_to_node(cpu), N_CPU);
> > + for_each_online_node(node)
> > + node_set_state(node, N_CPU);
>
> Is this really correct? The point of the original code was to mark only
> those nodes which have at least one CPU. Or am I missing something?
You're right. An online node does not necessarily have an online CPU.
for_each_online_node(node) {
if (cpumask_weight(cpumask_of_node(node)) > 0)
node_set_state(node, N_CPU);
}
is probably more correct.
Thanks,
tglx
Powered by blists - more mailing lists