All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liu Jiang <liuj97@gmail.com>
To: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: Michal Hocko <mhocko@suse.cz>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	KOSAKI Motohiro <kosaki.motohiro@gmail.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,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH v3 1/6] mm/memory-hotplug: fix lowmem count overflow when offline pages
Date: Sun, 26 May 2013 22:26:34 +0800	[thread overview]
Message-ID: <51A21B9A.1090206@gmail.com> (raw)
In-Reply-To: <1369547921-24264-1-git-send-email-liwanp@linux.vnet.ibm.com>

On Sun 26 May 2013 01:58:36 PM CST, Wanpeng Li 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);

Hi Wanpeng,
         The memory hotplug code adjusts totalram_pages, 
totalhigh_pages,  zone->present_pages
and zone->managed_pages all in memory_hotplug.c, so suggest to move 
this into memory_hotplug.c
too.
          One of my patch fixes this issue in another way, please refer 
to:
http://marc.info/?l=linux-mm&m=136957578620221&w=2
Regards!
Gerry

--
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: Liu Jiang <liuj97@gmail.com>
To: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Cc: Michal Hocko <mhocko@suse.cz>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	KOSAKI Motohiro <kosaki.motohiro@gmail.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,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH v3 1/6] mm/memory-hotplug: fix lowmem count overflow when offline pages
Date: Sun, 26 May 2013 22:26:34 +0800	[thread overview]
Message-ID: <51A21B9A.1090206@gmail.com> (raw)
In-Reply-To: <1369547921-24264-1-git-send-email-liwanp@linux.vnet.ibm.com>

On Sun 26 May 2013 01:58:36 PM CST, Wanpeng Li 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);

Hi Wanpeng,
         The memory hotplug code adjusts totalram_pages, 
totalhigh_pages,  zone->present_pages
and zone->managed_pages all in memory_hotplug.c, so suggest to move 
this into memory_hotplug.c
too.
          One of my patch fixes this issue in another way, please refer 
to:
http://marc.info/?l=linux-mm&m=136957578620221&w=2
Regards!
Gerry

  parent reply	other threads:[~2013-05-26 14:26 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-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 23:51         ` 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
2013-05-27  6:42       ` KOSAKI Motohiro
2013-05-26 14:26 ` Liu Jiang [this message]
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=51A21B9A.1090206@gmail.com \
    --to=liuj97@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jiang.liu@huawei.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kosaki.motohiro@gmail.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.