From: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
To: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@suse.cz>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Jiang Liu <jiang.liu@huawei.com>,
Tang Chen <tangchen@cn.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org
Subject: Re: [PATCH v3 1/6] mm/memory-hotplug: fix lowmem count overflow when offline pages
Date: Mon, 27 May 2013 02:42:26 -0400 [thread overview]
Message-ID: <51A30052.5090206@gmail.com> (raw)
In-Reply-To: <51a2a2ab.a2f6420a.33bb.ffffda23SMTPIN_ADDED_BROKEN@mx.google.com>
(5/26/13 8:02 PM), Wanpeng Li wrote:
> On Sun, May 26, 2013 at 07:49:33AM -0400, KOSAKI Motohiro wrote:
>> On Sun, May 26, 2013 at 1:58 AM, Wanpeng Li <liwanp@linux.vnet.ibm.com> wrote:
>>> Changelog:
>>> v1 -> v2:
>>> * show number of HighTotal before hotremove
>>> * remove CONFIG_HIGHMEM
>>> * cc stable kernels
>>> * add Michal reviewed-by
>>>
>>> Logic memory-remove code fails to correctly account the Total High Memory
>>> when a memory block which contains High Memory is offlined as shown in the
>>> example below. The following patch fixes it.
>>>
>>> Stable for 2.6.24+.
>>>
>>> Before logic memory remove:
>>>
>>> MemTotal: 7603740 kB
>>> MemFree: 6329612 kB
>>> Buffers: 94352 kB
>>> Cached: 872008 kB
>>> SwapCached: 0 kB
>>> Active: 626932 kB
>>> Inactive: 519216 kB
>>> Active(anon): 180776 kB
>>> Inactive(anon): 222944 kB
>>> Active(file): 446156 kB
>>> Inactive(file): 296272 kB
>>> Unevictable: 0 kB
>>> Mlocked: 0 kB
>>> HighTotal: 7294672 kB
>>> HighFree: 5704696 kB
>>> LowTotal: 309068 kB
>>> LowFree: 624916 kB
>>>
>>> After logic memory remove:
>>>
>>> MemTotal: 7079452 kB
>>> MemFree: 5805976 kB
>>> Buffers: 94372 kB
>>> Cached: 872000 kB
>>> SwapCached: 0 kB
>>> Active: 626936 kB
>>> Inactive: 519236 kB
>>> Active(anon): 180780 kB
>>> Inactive(anon): 222944 kB
>>> Active(file): 446156 kB
>>> Inactive(file): 296292 kB
>>> Unevictable: 0 kB
>>> Mlocked: 0 kB
>>> HighTotal: 7294672 kB
>>> HighFree: 5181024 kB
>>> LowTotal: 4294752076 kB
>>> LowFree: 624952 kB
>>>
>>> Reviewed-by: Michal Hocko <mhocko@suse.cz>
>>> Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
>>> ---
>>> mm/page_alloc.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>>> index 98cbdf6..23b921f 100644
>>> --- a/mm/page_alloc.c
>>> +++ b/mm/page_alloc.c
>>> @@ -6140,6 +6140,8 @@ __offline_isolated_pages(unsigned long start_pfn, unsigned long end_pfn)
>>> list_del(&page->lru);
>>> rmv_page_order(page);
>>> zone->free_area[order].nr_free--;
>>> + if (PageHighMem(page))
>>> + totalhigh_pages -= 1 << order;
>>> for (i = 0; i < (1 << order); i++)
>>> SetPageReserved((page+i));
>>> pfn += (1 << order);
>>
>> Hm. I already NAKed and you didn't answered my question. isn't it?
>
> Jiang makes his effort to support highmem for memory hotremove, he also
> fix this bug, http://marc.info/?l=linux-mm&m=136957578620221&w=2
OK, go ahead.
--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
To: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@suse.cz>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Jiang Liu <jiang.liu@huawei.com>,
Tang Chen <tangchen@cn.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org
Subject: Re: [PATCH v3 1/6] mm/memory-hotplug: fix lowmem count overflow when offline pages
Date: Mon, 27 May 2013 02:42:26 -0400 [thread overview]
Message-ID: <51A30052.5090206@gmail.com> (raw)
In-Reply-To: <51a2a2ab.a2f6420a.33bb.ffffda23SMTPIN_ADDED_BROKEN@mx.google.com>
(5/26/13 8:02 PM), Wanpeng Li wrote:
> On Sun, May 26, 2013 at 07:49:33AM -0400, KOSAKI Motohiro wrote:
>> On Sun, May 26, 2013 at 1:58 AM, Wanpeng Li <liwanp@linux.vnet.ibm.com> wrote:
>>> Changelog:
>>> v1 -> v2:
>>> * show number of HighTotal before hotremove
>>> * remove CONFIG_HIGHMEM
>>> * cc stable kernels
>>> * add Michal reviewed-by
>>>
>>> Logic memory-remove code fails to correctly account the Total High Memory
>>> when a memory block which contains High Memory is offlined as shown in the
>>> example below. The following patch fixes it.
>>>
>>> Stable for 2.6.24+.
>>>
>>> Before logic memory remove:
>>>
>>> MemTotal: 7603740 kB
>>> MemFree: 6329612 kB
>>> Buffers: 94352 kB
>>> Cached: 872008 kB
>>> SwapCached: 0 kB
>>> Active: 626932 kB
>>> Inactive: 519216 kB
>>> Active(anon): 180776 kB
>>> Inactive(anon): 222944 kB
>>> Active(file): 446156 kB
>>> Inactive(file): 296272 kB
>>> Unevictable: 0 kB
>>> Mlocked: 0 kB
>>> HighTotal: 7294672 kB
>>> HighFree: 5704696 kB
>>> LowTotal: 309068 kB
>>> LowFree: 624916 kB
>>>
>>> After logic memory remove:
>>>
>>> MemTotal: 7079452 kB
>>> MemFree: 5805976 kB
>>> Buffers: 94372 kB
>>> Cached: 872000 kB
>>> SwapCached: 0 kB
>>> Active: 626936 kB
>>> Inactive: 519236 kB
>>> Active(anon): 180780 kB
>>> Inactive(anon): 222944 kB
>>> Active(file): 446156 kB
>>> Inactive(file): 296292 kB
>>> Unevictable: 0 kB
>>> Mlocked: 0 kB
>>> HighTotal: 7294672 kB
>>> HighFree: 5181024 kB
>>> LowTotal: 4294752076 kB
>>> LowFree: 624952 kB
>>>
>>> Reviewed-by: Michal Hocko <mhocko@suse.cz>
>>> Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
>>> ---
>>> mm/page_alloc.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>>> index 98cbdf6..23b921f 100644
>>> --- a/mm/page_alloc.c
>>> +++ b/mm/page_alloc.c
>>> @@ -6140,6 +6140,8 @@ __offline_isolated_pages(unsigned long start_pfn, unsigned long end_pfn)
>>> list_del(&page->lru);
>>> rmv_page_order(page);
>>> zone->free_area[order].nr_free--;
>>> + if (PageHighMem(page))
>>> + totalhigh_pages -= 1 << order;
>>> for (i = 0; i < (1 << order); i++)
>>> SetPageReserved((page+i));
>>> pfn += (1 << order);
>>
>> Hm. I already NAKed and you didn't answered my question. isn't it?
>
> Jiang makes his effort to support highmem for memory hotremove, he also
> fix this bug, http://marc.info/?l=linux-mm&m=136957578620221&w=2
OK, go ahead.
next prev parent reply other threads:[~2013-05-27 6:42 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-26 5:58 [PATCH v3 1/6] mm/memory-hotplug: fix lowmem count overflow when offline pages Wanpeng Li
2013-05-26 5:58 ` Wanpeng Li
2013-05-26 5:58 ` [PATCH v3 2/6] mm/memory_hotplug: remove memory_add_physaddr_to_nid Wanpeng Li
2013-05-26 5:58 ` Wanpeng Li
2013-05-26 8:59 ` Michal Hocko
2013-05-26 8:59 ` Michal Hocko
2013-05-26 9:03 ` Wanpeng Li
2013-05-26 9:03 ` Wanpeng Li
2013-05-26 5:58 ` [patch v2 3/6] mm/memory_hotplug: Disable memory hotremove for 32bit Wanpeng Li
2013-05-26 5:58 ` Wanpeng Li
2013-05-26 9:00 ` Michal Hocko
2013-05-26 9:00 ` Michal Hocko
2013-05-26 9:06 ` Wanpeng Li
2013-05-26 18:12 ` Michal Hocko
2013-05-26 18:12 ` Michal Hocko
2013-05-26 23:51 ` Wanpeng Li
2013-05-26 23:51 ` Wanpeng Li
2013-05-27 6:48 ` Michal Hocko
2013-05-27 6:48 ` Michal Hocko
2013-05-27 7:00 ` Wanpeng Li
2013-05-27 7:00 ` Wanpeng Li
2013-05-26 9:06 ` Wanpeng Li
2013-05-26 11:58 ` KOSAKI Motohiro
2013-05-26 11:58 ` KOSAKI Motohiro
2013-05-26 12:45 ` Hush Bensen
2013-05-26 12:45 ` Hush Bensen
2013-05-26 13:06 ` KOSAKI Motohiro
2013-05-26 13:06 ` KOSAKI Motohiro
2013-05-26 13:49 ` Hush Bensen
2013-05-26 13:49 ` Hush Bensen
2013-05-26 18:09 ` Michal Hocko
2013-05-26 18:09 ` Michal Hocko
2013-05-26 22:02 ` KOSAKI Motohiro
2013-05-26 22:02 ` KOSAKI Motohiro
2013-05-26 5:58 ` [PATCH v3 4/6] mm/hugetlb: use already exist interface huge_page_shift Wanpeng Li
2013-05-26 5:58 ` Wanpeng Li
2013-05-26 5:58 ` [PATCH v3 5/6] mm/pageblock: remove get/set_pageblock_flags Wanpeng Li
2013-05-26 5:58 ` Wanpeng Li
2013-05-26 5:58 ` [PATCH v3 6/6] mm/hugetlb: remove hugetlb_prefault Wanpeng Li
2013-05-26 5:58 ` Wanpeng Li
2013-05-26 11:49 ` [PATCH v3 1/6] mm/memory-hotplug: fix lowmem count overflow when offline pages KOSAKI Motohiro
2013-05-26 11:49 ` KOSAKI Motohiro
2013-05-27 0:02 ` Wanpeng Li
2013-05-27 0:02 ` Wanpeng Li
[not found] ` <51a2a2ab.a2f6420a.33bb.ffffda23SMTPIN_ADDED_BROKEN@mx.google.com>
2013-05-27 6:42 ` KOSAKI Motohiro [this message]
2013-05-27 6:42 ` KOSAKI Motohiro
2013-05-26 14:26 ` Liu Jiang
2013-05-26 14:26 ` Liu Jiang
2013-05-26 23:44 ` Wanpeng Li
2013-05-26 23:44 ` Wanpeng Li
2013-05-28 3:37 ` Ben Hutchings
2013-05-28 7:16 ` Wanpeng Li
2013-05-28 7:16 ` Wanpeng Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51A30052.5090206@gmail.com \
--to=kosaki.motohiro@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=gregkh@linuxfoundation.org \
--cc=jiang.liu@huawei.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liwanp@linux.vnet.ibm.com \
--cc=mhocko@suse.cz \
--cc=rientjes@google.com \
--cc=stable@vger.kernel.org \
--cc=tangchen@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.