From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756749AbcFABGe (ORCPT ); Tue, 31 May 2016 21:06:34 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:58121 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750927AbcFABGc (ORCPT ); Tue, 31 May 2016 21:06:32 -0400 Subject: Re: [PATCH v2 5/5] arm64/numa: avoid inconsistent information to be printed To: Matthias Brugger , Catalin Marinas , Will Deacon , linux-arm-kernel , Ganapatrao Kulkarni , Robert Richter , "David Daney" , Rob Herring , "Frank Rowand" , Grant Likely , devicetree , linux-kernel References: <1464427377-12712-1-git-send-email-thunder.leizhen@huawei.com> <1464427377-12712-6-git-send-email-thunder.leizhen@huawei.com> <574D543A.2090406@suse.com> <574D751D.9020901@huawei.com> CC: Xinwei Hu , Zefan Li , Hanjun Guo , Tianhong Ding From: "Leizhen (ThunderTown)" Message-ID: <574E34BE.5040204@huawei.com> Date: Wed, 1 Jun 2016 09:05:02 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <574D751D.9020901@huawei.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.23.164] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.574E34C9.0074,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: f5e8fafe4f7c1651ba3b8461311ee978 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016/5/31 19:27, Leizhen (ThunderTown) wrote: > > > On 2016/5/31 17:07, Matthias Brugger wrote: >> >> >> On 28/05/16 11:22, Zhen Lei wrote: >>> numa_init(of_numa_init) may returned error because of numa configuration >>> error. So "No NUMA configuration found" is inaccurate. In fact, specific >>> configuration error information should be immediately printed by the >>> testing branch. >>> >>> Signed-off-by: Zhen Lei >>> --- >> >> Which kernel version is this patch based on? > > Base on mainline(git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git), I git pulled about 3-5 days ago, the last commit-id is dc03c0f. > > And thess patches base on https://lkml.org/lkml/2016/5/24/679 series(acpi numa) as David Daney's requirement. > >> >> Regards, >> Matthias >> >>> arch/arm64/mm/numa.c | 6 +++--- >>> drivers/of/of_numa.c | 7 +++---- >>> 2 files changed, 6 insertions(+), 7 deletions(-) >>> >>> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c >>> index 2601660..1b9622c 100644 >>> --- a/arch/arm64/mm/numa.c >>> +++ b/arch/arm64/mm/numa.c >>> @@ -338,8 +338,10 @@ static int __init numa_init(int (*init_func)(void)) >>> if (ret < 0) >>> return ret; >>> >>> - if (nodes_empty(numa_nodes_parsed)) >>> + if (nodes_empty(numa_nodes_parsed)) { >>> + pr_info("No NUMA configuration found\n"); >>> return -EINVAL; >>> + } >>> >>> ret = numa_register_nodes(); >>> if (ret < 0) >>> @@ -370,8 +372,6 @@ static int __init dummy_numa_init(void) >>> >>> if (numa_off) >>> pr_info("NUMA disabled\n"); /* Forced off on command line. */ >>> - else >>> - pr_info("No NUMA configuration found\n"); >>> pr_info("NUMA: Faking a node at [mem %#018Lx-%#018Lx]\n", >>> 0LLU, PFN_PHYS(max_pfn) - 1); >>> >>> diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c >>> index fb62307..3157130 100644 >>> --- a/drivers/of/of_numa.c >>> +++ b/drivers/of/of_numa.c >>> @@ -63,7 +63,7 @@ static int __init of_numa_parse_memory_nodes(void) >>> struct device_node *np = NULL; >>> struct resource rsrc; >>> u32 nid; >>> - int i, r = 0; >>> + int i, r; >>> >>> for_each_node_by_type(np, "memory") { >>> r = of_property_read_u32(np, "numa-node-id", &nid); >>> @@ -81,12 +81,11 @@ static int __init of_numa_parse_memory_nodes(void) >>> if (!i || r) { >>> of_node_put(np); >>> pr_err("NUMA: bad property in memory node\n"); >>> - r = r ? : -EINVAL; >>> - break; >>> + return r ? : -EINVAL; >>> } >>> } >>> >>> - return r; >>> + return 0; >>> } >>> >> >> Well this is fixing changes you introduced in this patch-set. Any reason this is not part of patch 2? > > Because they fixed two different problems. Hi, Matthias I thougth it again on my way home yesterday. Yeah, you're right, move this part to patch 2, will make these two patches looks more well. I put it here before, because for "No numa configuration" case, it originally returns error code, so that it can not walk to "if (nodes_empty(numa_nodes_parsed))". ret = init_func(); if (ret < 0) return ret; - if (nodes_empty(numa_nodes_parsed)) + if (nodes_empty(numa_nodes_parsed)) { + pr_info("No NUMA configuration found\n"); return -EINVAL; + } Regards, Zhen Lei > >> >>> static int __init of_numa_parse_distance_map_v1(struct device_node *map) >>> -- >>> 2.5.0 >>> >>> >>> >>> _______________________________________________ >>> linux-arm-kernel mailing list >>> linux-arm-kernel@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >>> >> >> . >>