[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <06be5908-9af6-2892-0333-e9558b2cf474@suse.cz>
Date: Fri, 13 Mar 2020 12:38:45 +0100
From: Vlastimil Babka <vbabka@...e.cz>
To: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
Joonsoo Kim <js1304@...il.com>
Cc: Sachin Sant <sachinp@...ux.vnet.ibm.com>,
Michal Hocko <mhocko@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>,
Linux Memory Management List <linux-mm@...ck.org>,
Mel Gorman <mgorman@...e.de>,
"Kirill A. Shutemov" <kirill@...temov.name>,
Andrew Morton <akpm@...ux-foundation.org>,
linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>,
Christopher Lameter <cl@...ux.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Kirill Tkhai <ktkhai@...tuozzo.com>,
Michael Ellerman <mpe@...erman.id.au>
Subject: Re: [PATCH 1/3] powerpc/numa: Set numa_node for all possible cpus
On 3/13/20 12:04 PM, Srikar Dronamraju wrote:
>> I lost all the memory about it. :)
>> Anyway, how about this?
>>
>> 1. make node_present_pages() safer
>> static inline node_present_pages(nid)
>> {
>> if (!node_online(nid)) return 0;
>> return (NODE_DATA(nid)->node_present_pages);
>> }
>>
>
> Yes this would help.
Looks good, yeah.
>> 2. make node_to_mem_node() safer for all cases
>> In ppc arch's mem_topology_setup(void)
>> for_each_present_cpu(cpu) {
>> numa_setup_cpu(cpu);
>> mem_node = node_to_mem_node(numa_mem_id());
>> if (!node_present_pages(mem_node)) {
>> _node_numa_mem_[numa_mem_id()] = first_online_node;
>> }
>> }
>>
>
> But here as discussed above, we miss the case of possible but not present nodes.
> For such nodes, the above change may not update, resulting in they still
> having 0. And node 0 can be only possible but not present.
So is there other way to do the setup so that node_to_mem_node() returns an
online+present node when called for any possible node?
Powered by blists - more mailing lists