From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx147.postini.com [74.125.245.147]) by kanga.kvack.org (Postfix) with SMTP id 7BF6E6B007D for ; Tue, 2 Apr 2013 21:29:11 -0400 (EDT) Received: from m1.gw.fujitsu.co.jp (unknown [10.0.50.71]) by fgwmail5.fujitsu.co.jp (Postfix) with ESMTP id 02E433EE0BD for ; Wed, 3 Apr 2013 10:29:10 +0900 (JST) Received: from smail (m1 [127.0.0.1]) by outgoing.m1.gw.fujitsu.co.jp (Postfix) with ESMTP id DA18845DE58 for ; Wed, 3 Apr 2013 10:29:09 +0900 (JST) Received: from s1.gw.fujitsu.co.jp (s1.gw.fujitsu.co.jp [10.0.50.91]) by m1.gw.fujitsu.co.jp (Postfix) with ESMTP id BA25545DE55 for ; Wed, 3 Apr 2013 10:29:09 +0900 (JST) Received: from s1.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s1.gw.fujitsu.co.jp (Postfix) with ESMTP id AD4501DB8049 for ; Wed, 3 Apr 2013 10:29:09 +0900 (JST) Received: from g01jpexchkw11.g01.fujitsu.local (g01jpexchkw11.g01.fujitsu.local [10.0.194.50]) by s1.gw.fujitsu.co.jp (Postfix) with ESMTP id 66FE21DB803A for ; Wed, 3 Apr 2013 10:29:09 +0900 (JST) Message-ID: <515B85D0.6030403@jp.fujitsu.com> Date: Wed, 3 Apr 2013 10:28:48 +0900 From: Yasuaki Ishimatsu MIME-Version: 1.0 Subject: Re: [PATCH 3/3] mm: Change __remove_pages() to call release_mem_region_adjustable() References: <1364919450-8741-1-git-send-email-toshi.kani@hp.com> <1364919450-8741-4-git-send-email-toshi.kani@hp.com> In-Reply-To: <1364919450-8741-4-git-send-email-toshi.kani@hp.com> Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Toshi Kani Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxram@us.ibm.com, tmac@hp.com, wency@cn.fujitsu.com, tangchen@cn.fujitsu.com, jiang.liu@huawei.com Hi Toshi, 2013/04/03 1:17, Toshi Kani wrote: > Changed __remove_pages() to call release_mem_region_adjustable(). > This allows a requested memory range to be released from > the iomem_resource table even if it does not match exactly to > an resource entry but still fits into. The resource entries > initialized at bootup usually cover the whole contiguous > memory ranges and may not necessarily match with the size of > memory hot-delete requests. > > If release_mem_region_adjustable() failed, __remove_pages() logs > an error message and continues to proceed as it was the case > with release_mem_region(). release_mem_region(), which is defined > to __release_region(), logs an error message and returns no error > since a void function. > > Signed-off-by: Toshi Kani The patch looks good. Reviewed-by: Yasuaki Ishimatsu Thanks, Yasuaki Ishimatsu > --- > mm/memory_hotplug.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 57decb2..c916582 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -705,8 +705,10 @@ EXPORT_SYMBOL_GPL(__add_pages); > int __remove_pages(struct zone *zone, unsigned long phys_start_pfn, > unsigned long nr_pages) > { > - unsigned long i, ret = 0; > + unsigned long i; > int sections_to_remove; > + resource_size_t start, size; > + int ret = 0; > > /* > * We can only remove entire sections > @@ -714,7 +716,12 @@ int __remove_pages(struct zone *zone, unsigned long phys_start_pfn, > BUG_ON(phys_start_pfn & ~PAGE_SECTION_MASK); > BUG_ON(nr_pages % PAGES_PER_SECTION); > > - release_mem_region(phys_start_pfn << PAGE_SHIFT, nr_pages * PAGE_SIZE); > + start = phys_start_pfn << PAGE_SHIFT; > + size = nr_pages * PAGE_SIZE; > + ret = release_mem_region_adjustable(&iomem_resource, start, size); > + if (ret) > + pr_warn("Unable to release resource <%016llx-%016llx> (%d)\n", > + start, start + size - 1, ret); > > sections_to_remove = nr_pages / PAGES_PER_SECTION; > for (i = 0; i < sections_to_remove; i++) { > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org