From: Liu Jiang <liuj97@gmail.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Tang Chen <tangchen@cn.fujitsu.com>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
linux-mm@kvack.org, Michal Hocko <mhocko@suse.cz>,
linux-arch@vger.kernel.org, xen-devel@lists.xensource.com,
Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
Mark Salter <msalter@redhat.com>,
Jiang Liu <jiang.liu@huawei.com>,
Wen Congyang <wency@cn.fujitsu.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Chris Metcalf <cmetcalf@tilera.com>,
Jianguo Wu <wujianguo@huawei.com>,
virtualization@lists.linux-foundation.org,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
David Howells <dhowells@redhat.com>,
linux-kernel@vger.kernel.org, Minchan Kim <minchan@kernel.org>,
David Rientjes <rientjes@google.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages
Date: Tue, 28 May 2013 22:20:40 +0800 [thread overview]
Message-ID: <51A4BD38.2040302@gmail.com> (raw)
In-Reply-To: <51A36633.2030905@cogentembedded.com>
Hi Sergei,
Thanks for review!
On 05/27/2013 09:57 PM, Sergei Shtylyov wrote:
> On 26-05-2013 17:38, Jiang Liu wrote:
>
> Typo in the subject: s/mamaged_pages/managed_pages/.
Will fix it in next version.
>
>> Enhance adjust_managed_page_count() to adjust totalhigh_pages for
>> highmem pages. And change code which directly adjusts totalram_pages
>> to use adjust_managed_page_count() because it adjusts totalram_pages,
>> totalhigh_pages and zone->managed_pages altogether in a safe way.
>
>> Remove inc_totalhigh_pages() and dec_totalhigh_pages() from xen/balloon
>> driver bacause adjust_managed_page_count() has already adjusted
>> totalhigh_pages.
>
>> This patch also fixes two bugs:
>> 1) enhances virtio_balloon driver to adjust totalhigh_pages when
>> reserve/unreserve pages.
>> 2) enhance memory_hotplug.c to adjust totalhigh_pages when hot-removing
>> memory.
>
>> We still need to deal with modifications of totalram_pages in file
>> arch/powerpc/platforms/pseries/cmm.c, but need help from PPC experts.
>
>> Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
>> Cc: Chris Metcalf <cmetcalf@tilera.com>
>> Cc: Rusty Russell <rusty@rustcorp.com.au>
>> Cc: "Michael S. Tsirkin" <mst@redhat.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: Jeremy Fitzhardinge <jeremy@goop.org>
>> Cc: Wen Congyang <wency@cn.fujitsu.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Tang Chen <tangchen@cn.fujitsu.com>
>> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>> Cc: Mel Gorman <mgorman@suse.de>
>> Cc: Minchan Kim <minchan@kernel.org>
>> Cc: linux-kernel@vger.kernel.org
>> Cc: virtualization@lists.linux-foundation.org
>> Cc: xen-devel@lists.xensource.com
>> Cc: linux-mm@kvack.org
>> ---
>> drivers/virtio/virtio_balloon.c | 8 +++++---
>> drivers/xen/balloon.c | 23 +++++------------------
>> mm/hugetlb.c | 2 +-
>> mm/memory_hotplug.c | 16 +++-------------
>> mm/page_alloc.c | 10 +++++-----
>> 5 files changed, 19 insertions(+), 40 deletions(-)
>
>> diff --git a/drivers/virtio/virtio_balloon.c
>> b/drivers/virtio/virtio_balloon.c
>> index bd3ae32..6649968 100644
>> --- a/drivers/virtio/virtio_balloon.c
>> +++ b/drivers/virtio/virtio_balloon.c
> [...]
>> @@ -160,11 +160,13 @@ static void fill_balloon(struct virtio_balloon
>> *vb, size_t num)
>> static void release_pages_by_pfn(const u32 pfns[], unsigned int num)
>> {
>> unsigned int i;
>> + struct page *page;
>
> Why not declare it right in the *for* loop? You could use intializer
> then...
Good suggestion, will change it in next version.
>
>>
>> /* Find pfns pointing at start of each page, get pages and free
>> them. */
>> for (i = 0; i < num; i += VIRTIO_BALLOON_PAGES_PER_PAGE) {
>> - balloon_page_free(balloon_pfn_to_page(pfns[i]));
>> - totalram_pages++;
>> + page = balloon_pfn_to_page(pfns[i]);
>> + balloon_page_free(page);
>> + adjust_managed_page_count(page, 1);
>> }
>> }
>>
> [...]
>
> WBR, Sergei
>
WARNING: multiple messages have this Message-ID (diff)
From: Liu Jiang <liuj97@gmail.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Jiang Liu <jiang.liu@huawei.com>,
David Rientjes <rientjes@google.com>,
Wen Congyang <wency@cn.fujitsu.com>, Mel Gorman <mgorman@suse.de>,
Minchan Kim <minchan@kernel.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
David Howells <dhowells@redhat.com>,
Mark Salter <msalter@redhat.com>,
Jianguo Wu <wujianguo@huawei.com>,
linux-mm@kvack.org, linux-arch@vger.kernel.org,
linux-kernel@vger.kernel.org, Chris Metcalf <cmetcalf@tilera.com>,
Rusty Russell <rusty@rustcorp.com.au>,
"Michael S. Tsirkin" <mst@redhat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Tang Chen <tangchen@cn.fujitsu.com>,
Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
virtualization@lists.linux-foundation.org,
xen-devel@lists.xensource.com
Subject: Re: [PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages
Date: Tue, 28 May 2013 22:20:40 +0800 [thread overview]
Message-ID: <51A4BD38.2040302@gmail.com> (raw)
Message-ID: <20130528142040.KuVnFNi1kD22kjK8Xl8RXQS8zVSHMFtwKUdhmkicYp8@z> (raw)
In-Reply-To: <51A36633.2030905@cogentembedded.com>
Hi Sergei,
Thanks for review!
On 05/27/2013 09:57 PM, Sergei Shtylyov wrote:
> On 26-05-2013 17:38, Jiang Liu wrote:
>
> Typo in the subject: s/mamaged_pages/managed_pages/.
Will fix it in next version.
>
>> Enhance adjust_managed_page_count() to adjust totalhigh_pages for
>> highmem pages. And change code which directly adjusts totalram_pages
>> to use adjust_managed_page_count() because it adjusts totalram_pages,
>> totalhigh_pages and zone->managed_pages altogether in a safe way.
>
>> Remove inc_totalhigh_pages() and dec_totalhigh_pages() from xen/balloon
>> driver bacause adjust_managed_page_count() has already adjusted
>> totalhigh_pages.
>
>> This patch also fixes two bugs:
>> 1) enhances virtio_balloon driver to adjust totalhigh_pages when
>> reserve/unreserve pages.
>> 2) enhance memory_hotplug.c to adjust totalhigh_pages when hot-removing
>> memory.
>
>> We still need to deal with modifications of totalram_pages in file
>> arch/powerpc/platforms/pseries/cmm.c, but need help from PPC experts.
>
>> Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
>> Cc: Chris Metcalf <cmetcalf@tilera.com>
>> Cc: Rusty Russell <rusty@rustcorp.com.au>
>> Cc: "Michael S. Tsirkin" <mst@redhat.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: Jeremy Fitzhardinge <jeremy@goop.org>
>> Cc: Wen Congyang <wency@cn.fujitsu.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Tang Chen <tangchen@cn.fujitsu.com>
>> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>> Cc: Mel Gorman <mgorman@suse.de>
>> Cc: Minchan Kim <minchan@kernel.org>
>> Cc: linux-kernel@vger.kernel.org
>> Cc: virtualization@lists.linux-foundation.org
>> Cc: xen-devel@lists.xensource.com
>> Cc: linux-mm@kvack.org
>> ---
>> drivers/virtio/virtio_balloon.c | 8 +++++---
>> drivers/xen/balloon.c | 23 +++++------------------
>> mm/hugetlb.c | 2 +-
>> mm/memory_hotplug.c | 16 +++-------------
>> mm/page_alloc.c | 10 +++++-----
>> 5 files changed, 19 insertions(+), 40 deletions(-)
>
>> diff --git a/drivers/virtio/virtio_balloon.c
>> b/drivers/virtio/virtio_balloon.c
>> index bd3ae32..6649968 100644
>> --- a/drivers/virtio/virtio_balloon.c
>> +++ b/drivers/virtio/virtio_balloon.c
> [...]
>> @@ -160,11 +160,13 @@ static void fill_balloon(struct virtio_balloon
>> *vb, size_t num)
>> static void release_pages_by_pfn(const u32 pfns[], unsigned int num)
>> {
>> unsigned int i;
>> + struct page *page;
>
> Why not declare it right in the *for* loop? You could use intializer
> then...
Good suggestion, will change it in next version.
>
>>
>> /* Find pfns pointing at start of each page, get pages and free
>> them. */
>> for (i = 0; i < num; i += VIRTIO_BALLOON_PAGES_PER_PAGE) {
>> - balloon_page_free(balloon_pfn_to_page(pfns[i]));
>> - totalram_pages++;
>> + page = balloon_pfn_to_page(pfns[i]);
>> + balloon_page_free(page);
>> + adjust_managed_page_count(page, 1);
>> }
>> }
>>
> [...]
>
> WBR, Sergei
>
WARNING: multiple messages have this Message-ID (diff)
From: Liu Jiang <liuj97@gmail.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Jiang Liu <jiang.liu@huawei.com>,
David Rientjes <rientjes@google.com>,
Wen Congyang <wency@cn.fujitsu.com>, Mel Gorman <mgorman@suse.de>,
Minchan Kim <minchan@kernel.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
David Howells <dhowells@redhat.com>,
Mark Salter <msalter@redhat.com>,
Jianguo Wu <wujianguo@huawei.com>,
linux-mm@kvack.org, linux-arch@vger.kernel.org,
linux-kernel@vger.kernel.org, Chris Metcalf <cmetcalf@tilera.com>,
Rusty Russell <rusty@rustcorp.com.au>,
"Michael S. Tsirkin" <mst@redhat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Tang Chen <tangchen@cn.fujitsu.com>,
Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
virtualization@lists.linux-foundation.org,
xen-devel@lists.xensource.com
Subject: Re: [PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages
Date: Tue, 28 May 2013 22:20:40 +0800 [thread overview]
Message-ID: <51A4BD38.2040302@gmail.com> (raw)
In-Reply-To: <51A36633.2030905@cogentembedded.com>
Hi Sergei,
Thanks for review!
On 05/27/2013 09:57 PM, Sergei Shtylyov wrote:
> On 26-05-2013 17:38, Jiang Liu wrote:
>
> Typo in the subject: s/mamaged_pages/managed_pages/.
Will fix it in next version.
>
>> Enhance adjust_managed_page_count() to adjust totalhigh_pages for
>> highmem pages. And change code which directly adjusts totalram_pages
>> to use adjust_managed_page_count() because it adjusts totalram_pages,
>> totalhigh_pages and zone->managed_pages altogether in a safe way.
>
>> Remove inc_totalhigh_pages() and dec_totalhigh_pages() from xen/balloon
>> driver bacause adjust_managed_page_count() has already adjusted
>> totalhigh_pages.
>
>> This patch also fixes two bugs:
>> 1) enhances virtio_balloon driver to adjust totalhigh_pages when
>> reserve/unreserve pages.
>> 2) enhance memory_hotplug.c to adjust totalhigh_pages when hot-removing
>> memory.
>
>> We still need to deal with modifications of totalram_pages in file
>> arch/powerpc/platforms/pseries/cmm.c, but need help from PPC experts.
>
>> Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
>> Cc: Chris Metcalf <cmetcalf@tilera.com>
>> Cc: Rusty Russell <rusty@rustcorp.com.au>
>> Cc: "Michael S. Tsirkin" <mst@redhat.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: Jeremy Fitzhardinge <jeremy@goop.org>
>> Cc: Wen Congyang <wency@cn.fujitsu.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Tang Chen <tangchen@cn.fujitsu.com>
>> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>> Cc: Mel Gorman <mgorman@suse.de>
>> Cc: Minchan Kim <minchan@kernel.org>
>> Cc: linux-kernel@vger.kernel.org
>> Cc: virtualization@lists.linux-foundation.org
>> Cc: xen-devel@lists.xensource.com
>> Cc: linux-mm@kvack.org
>> ---
>> drivers/virtio/virtio_balloon.c | 8 +++++---
>> drivers/xen/balloon.c | 23 +++++------------------
>> mm/hugetlb.c | 2 +-
>> mm/memory_hotplug.c | 16 +++-------------
>> mm/page_alloc.c | 10 +++++-----
>> 5 files changed, 19 insertions(+), 40 deletions(-)
>
>> diff --git a/drivers/virtio/virtio_balloon.c
>> b/drivers/virtio/virtio_balloon.c
>> index bd3ae32..6649968 100644
>> --- a/drivers/virtio/virtio_balloon.c
>> +++ b/drivers/virtio/virtio_balloon.c
> [...]
>> @@ -160,11 +160,13 @@ static void fill_balloon(struct virtio_balloon
>> *vb, size_t num)
>> static void release_pages_by_pfn(const u32 pfns[], unsigned int num)
>> {
>> unsigned int i;
>> + struct page *page;
>
> Why not declare it right in the *for* loop? You could use intializer
> then...
Good suggestion, will change it in next version.
>
>>
>> /* Find pfns pointing at start of each page, get pages and free
>> them. */
>> for (i = 0; i < num; i += VIRTIO_BALLOON_PAGES_PER_PAGE) {
>> - balloon_page_free(balloon_pfn_to_page(pfns[i]));
>> - totalram_pages++;
>> + page = balloon_pfn_to_page(pfns[i]);
>> + balloon_page_free(page);
>> + adjust_managed_page_count(page, 1);
>> }
>> }
>>
> [...]
>
> WBR, Sergei
>
--
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-28 14:20 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-26 13:38 [PATCH v8, part3 00/14] accurately calculate memory statisitic information Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 01/14] mm: change signature of free_reserved_area() to fix building warnings Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 02/14] mm: enhance free_reserved_area() to support poisoning memory with zero Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-29 8:51 ` Vineet Gupta
2013-05-29 8:51 ` Vineet Gupta
2013-05-29 8:51 ` Vineet Gupta
2013-05-26 13:38 ` [PATCH v8, part3 03/14] mm/ARM64: kill poison_init_mem() Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-28 13:43 ` Catalin Marinas
2013-05-28 13:43 ` Catalin Marinas
2013-05-28 13:43 ` Catalin Marinas
2013-05-28 13:43 ` Catalin Marinas
2013-05-26 13:38 ` [PATCH v8, part3 04/14] mm/x86: use free_reserved_area() to simplify code Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 05/14] mm/tile: use common help functions to free reserved pages Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 06/14] mm, acornfb: use free_reserved_area() to simplify code Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-30 21:58 ` Andrew Morton
2013-05-30 21:58 ` Andrew Morton
2013-05-30 21:58 ` Andrew Morton
2013-05-31 4:31 ` Jiang Liu
2013-05-31 4:31 ` Jiang Liu
2013-05-31 4:31 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 07/14] mm: fix some trivial typos in comments Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 08/14] mm: use managed_pages to calculate default zonelist order Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 09/14] mm: accurately calculate zone->managed_pages for highmem zones Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 10/14] mm: use a dedicated lock to protect totalram_pages and zone->managed_pages Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-06-11 20:00 ` Andrew Morton
2013-06-11 20:00 ` Andrew Morton
2013-06-12 2:17 ` Jiang Liu
2013-06-12 2:17 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 11/14] mm: make __free_pages_bootmem() only available at boot time Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 12/14] mm: correctly update zone->mamaged_pages Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-27 0:52 ` Wanpeng Li
2013-05-27 0:52 ` Wanpeng Li
2013-05-27 0:52 ` Wanpeng Li
2013-05-27 0:52 ` Wanpeng Li
2013-05-27 13:57 ` Sergei Shtylyov
2013-05-27 13:57 ` Sergei Shtylyov
2013-05-27 13:57 ` Sergei Shtylyov
2013-05-28 14:20 ` Liu Jiang [this message]
2013-05-28 14:20 ` Liu Jiang
2013-05-28 14:20 ` Liu Jiang
2013-05-27 13:57 ` Sergei Shtylyov
2013-05-26 13:38 ` [PATCH v8, part3 13/14] mm: concentrate modification of totalram_pages into the mm core Jiang Liu
2013-05-26 13:38 ` Jiang Liu
2013-05-26 13:38 ` [PATCH v8, part3 14/14] mm: report available pages as "MemTotal" for each NUMA node Jiang Liu
2013-05-26 13:38 ` Jiang Liu
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=51A4BD38.2040302@gmail.com \
--to=liuj97@gmail.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=cmetcalf@tilera.com \
--cc=dhowells@redhat.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=jeremy@goop.org \
--cc=jiang.liu@huawei.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=minchan@kernel.org \
--cc=msalter@redhat.com \
--cc=mst@redhat.com \
--cc=rientjes@google.com \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=tangchen@cn.fujitsu.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=wency@cn.fujitsu.com \
--cc=wujianguo@huawei.com \
--cc=xen-devel@lists.xensource.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.