From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Metcalf Date: Thu, 31 Jul 2014 20:43:58 +0000 Subject: Re: [PATCH v2 7/7] memory-hotplug: tile: suitable memory should go to ZONE_MOVABLE Message-Id: <53DAAA8E.6000007@tilera.com> List-Id: References: <1405914402-66212-1-git-send-email-wangnan0@huawei.com> <1405914402-66212-8-git-send-email-wangnan0@huawei.com> <53CDD5EE.1030805@huawei.com> In-Reply-To: <53CDD5EE.1030805@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Wang Nan , Andrew Morton Cc: Ingo Molnar , Yinghai Lu , Mel Gorman , Dave Hansen , Zhang Yanfei , peifeiyue@huawei.com, linux-mm@kvack.org, x86@kernel.org, linux-ia64@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org On 7/21/2014 11:09 PM, Wang Nan wrote: > Hi Andrew, > > Please drop patch 7/7 from -mm tree and keep other 6 patches. > > arch_add_memory() in tile is different from others: no nid parameter. > Patch 7/7 will block compiling. > > I cc this mail to Chris Metcalf and hope he can look at this issue. > > Other 6 patches looks good. > > On 2014/7/21 11:46, Wang Nan wrote: >> This patch introduces zone_for_memory() to arch_add_memory() on tile to >> ensure new, higher memory added into ZONE_MOVABLE if movable zone has >> already setup. >> >> This patch also fix a problem: on tile, new memory should be added into >> ZONE_HIGHMEM by default, not MAX_NR_ZONES-1, which is ZONE_MOVABLE. >> >> Signed-off-by: Wang Nan >> Cc: Zhang Yanfei >> Cc: Dave Hansen >> --- >> arch/tile/mm/init.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/tile/mm/init.c b/arch/tile/mm/init.c >> index bfb3127..22ac6c1 100644 >> --- a/arch/tile/mm/init.c >> +++ b/arch/tile/mm/init.c >> @@ -872,7 +872,8 @@ void __init mem_init(void) >> int arch_add_memory(u64 start, u64 size) >> { >> struct pglist_data *pgdata = &contig_page_data; >> - struct zone *zone = pgdata->node_zones + MAX_NR_ZONES-1; >> + struct zone *zone = pgdata->node_zones + >> + zone_for_memory(nid, start, size, ZONE_HIGHMEM); >> unsigned long start_pfn = start >> PAGE_SHIFT; >> unsigned long nr_pages = size >> PAGE_SHIFT; >> This code is entirely stale; it came from the initial port of Linux 2.6.15 to Tilera. Since we have always used DISCONTIGMEM unconditionally, which forces NEED_MULTIPLE_NODES to be true, this code never compiles. Note the completely irrelevant comment about x86 in this ifdef block, too :-) The cleanest thing to do is just remove those three functions in the ifdef block. I'll do that to our internal tree and plan to push the change upstream later. -- Chris Metcalf, Tilera Corp. http://www.tilera.com