From: Michal Hocko <mhocko@suse.cz>
To: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
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-kernel@vger.kernel.org
Subject: Re: [PATCH 1/4] mm/memory-hotplug: fix lowmem count overflow when offline pages
Date: Wed, 22 May 2013 12:49:37 +0200 [thread overview]
Message-ID: <20130522104937.GC19989@dhcp22.suse.cz> (raw)
In-Reply-To: <1369214970-1526-1-git-send-email-liwanp@linux.vnet.ibm.com>
On Wed 22-05-13 17:29:27, Wanpeng Li wrote:
> 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.
>
> cat /proc/meminfo
> 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
Ok, so the HighTotal is higher than MemTotal but it would have been more
straightforward to show number of HighTotal before hotremove, show how
much memory has been removed and the number after.
It is not clear which stable kernels need this fix as well.
>
> Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Anyway
Reviewed-by: Michal Hocko <mhocko@suse.cz>
with a nit pick bellow
> ---
> mm/page_alloc.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 98cbdf6..80474b2 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6140,6 +6140,10 @@ __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--;
> +#ifdef CONFIG_HIGHMEM
> + if (PageHighMem(page))
> + totalhigh_pages -= 1 << order;
> +#endif
ifdef shouldn't be necessary as PageHighMem should default to false for
!CONFIG_HIGHMEM AFAICS.
> for (i = 0; i < (1 << order); i++)
> SetPageReserved((page+i));
> pfn += (1 << order);
> --
> 1.8.1.2
>
> --
> 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>
--
Michal Hocko
SUSE Labs
--
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>
next prev parent reply other threads:[~2013-05-22 10:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-22 9:29 Wanpeng Li
2013-05-22 9:29 ` [PATCH 2/4] mm/pageblock: remove get/set_pageblock_flags Wanpeng Li
2013-05-22 10:50 ` Michal Hocko
2013-05-22 9:29 ` [PATCH 3/4] mm/hugetlb: remove hugetlb_prefault Wanpeng Li
2013-05-22 10:50 ` Michal Hocko
2013-05-22 9:29 ` [PATCH 4/4] mm/hugetlb: use already exist interface huge_page_shift Wanpeng Li
2013-05-22 10:52 ` Michal Hocko
2013-05-22 23:40 ` Wanpeng Li
2013-05-22 23:40 ` Wanpeng Li
2013-05-22 10:49 ` Michal Hocko [this message]
2013-05-22 23:38 ` [PATCH 1/4] mm/memory-hotplug: fix lowmem count overflow when offline pages Wanpeng Li
2013-05-22 23:38 ` Wanpeng Li
2013-05-30 8:20 ` Michal Hocko
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=20130522104937.GC19989@dhcp22.suse.cz \
--to=mhocko@suse.cz \
--cc=akpm@linux-foundation.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=rientjes@google.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox