Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756024AbbHZGr1 (ORCPT ); Wed, 26 Aug 2015 02:47:27 -0400 Received: from cn.fujitsu.com ([59.151.112.132]:61011 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751493AbbHZGr0 (ORCPT ); Wed, 26 Aug 2015 02:47:26 -0400 X-IronPort-AV: E=Sophos;i="5.15,520,1432569600"; d="scan'208";a="100030415" Message-ID: <55DD609E.5050509@cn.fujitsu.com> Date: Wed, 26 Aug 2015 14:45:50 +0800 From: Tang Chen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Xishi Qiu CC: , , , , , , , , , , , Jiang Liu Subject: Re: [PATCH 1/1] memhp: Add hot-added memory ranges to memblock before allocate node_data for a node. References: <1440349573-24260-1-git-send-email-tangchen@cn.fujitsu.com> <55DAE26E.1050302@huawei.com> <55DBC061.8040508@huawei.com> In-Reply-To: <55DBC061.8040508@huawei.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2666 Lines: 85 On 08/25/2015 09:09 AM, Xishi Qiu wrote: > On 2015/8/24 17:22, Xishi Qiu wrote: > >> On 2015/8/24 1:06, Tang Chen wrote: >> >>> The commit below adds hot-added memory range to memblock, after >>> creating pgdat for new node. >>> >>> commit f9126ab9241f66562debf69c2c9d8fee32ddcc53 >>> Author: Xishi Qiu >>> Date: Fri Aug 14 15:35:16 2015 -0700 >>> >>> memory-hotplug: fix wrong edge when hot add a new node >>> >>> But there is a problem: >>> >>> add_memory() >>> |--> hotadd_new_pgdat() >>> |--> free_area_init_node() >>> |--> get_pfn_range_for_nid() >>> |--> find start_pfn and end_pfn in memblock >>> |--> ...... >>> |--> memblock_add_node(start, size, nid) -------- Here, just too late. >>> >>> get_pfn_range_for_nid() will find that start_pfn and end_pfn are both 0. >>> As a result, when adding memory, dmesg will give the following wrong message. >>> > Hi Tang, > > Another question, if we add cpu first, there will be print error too. > > cpu_up() > try_online_node() > hotadd_new_pgdat() > > So how about just skip the print if the size is empty or just print > "node xx is empty now, will update when online memory"? As Liu Jiang said, memory-less node is not supported on x86 now. And he is working on it. Please refer to https://lkml.org/lkml/2015/8/16/130. About your question, now, node could only be onlined when it has some memory. So the printed message is also about memory, and sis put in hotadd_new_pgdat() . I think the author of the code didn't think about online a node when a CPU is up. But now, memory-less will be supported. So, I think, as you said, the message should be modified. But how it will go, I think we should refer to Liu Jiang's patch, and make a decision. Thanks. > > Thanks, > Xishi Qiu > >>> [ 2007.577000] Initmem setup node 5 [mem 0x0000000000000000-0xffffffffffffffff] >>> [ 2007.584000] On node 5 totalpages: 0 >>> [ 2007.585000] Built 5 zonelists in Node order, mobility grouping on. Total pages: 32588823 >>> [ 2007.594000] Policy zone: Normal >>> [ 2007.598000] init_memory_mapping: [mem 0x60000000000-0x607ffffffff] >>> > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > . > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/