All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, Mel Gorman <mgorman@suse.de>,
	Hugh Dickins <hughd@google.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Andi Kleen <andi@firstfloor.org>, Hillf Danton <dhillf@gmail.com>,
	Michal Hocko <mhocko@suse.cz>, Rik van Riel <riel@redhat.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org,
	Naoya Horiguchi <nao.horiguchi@gmail.com>
Subject: Re: [PATCH 4/9] migrate: add hugepage migration code to move_pages()
Date: Sat, 28 Sep 2013 19:26:02 +0200	[thread overview]
Message-ID: <20130928172602.GA6191@pd.tnic> (raw)
In-Reply-To: <1376025702-14818-5-git-send-email-n-horiguchi@ah.jp.nec.com>

On Fri, Aug 09, 2013 at 01:21:37AM -0400, Naoya Horiguchi wrote:
> This patch extends move_pages() to handle vma with VM_HUGETLB set.
> We will be able to migrate hugepage with move_pages(2) after
> applying the enablement patch which comes later in this series.
> 
> We avoid getting refcount on tail pages of hugepage, because unlike thp,
> hugepage is not split and we need not care about races with splitting.
> 
> And migration of larger (1GB for x86_64) hugepage are not enabled.
> 
> ChangeLog v4:
>  - use get_page instead of get_page_foll
>  - add comment in follow_page_mask
> 
> ChangeLog v3:
>  - revert introducing migrate_movable_pages
>  - follow_page_mask(FOLL_GET) returns NULL for tail pages
>  - use isolate_huge_page
> 
> ChangeLog v2:
>  - updated description and renamed patch title
> 
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> Acked-by: Andi Kleen <ak@linux.intel.com>
> Reviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
> ---
>  mm/memory.c  | 17 +++++++++++++++--
>  mm/migrate.c | 13 +++++++++++--
>  2 files changed, 26 insertions(+), 4 deletions(-)

...

> diff --git v3.11-rc3.orig/mm/migrate.c v3.11-rc3/mm/migrate.c
> index 3ec47d3..d313737 100644
> --- v3.11-rc3.orig/mm/migrate.c
> +++ v3.11-rc3/mm/migrate.c
> @@ -1092,7 +1092,11 @@ static struct page *new_page_node(struct page *p, unsigned long private,
>  
>  	*result = &pm->status;
>  
> -	return alloc_pages_exact_node(pm->node,
> +	if (PageHuge(p))
> +		return alloc_huge_page_node(page_hstate(compound_head(p)),
> +					pm->node);
> +	else
> +		return alloc_pages_exact_node(pm->node,
>  				GFP_HIGHUSER_MOVABLE | GFP_THISNODE, 0);
>  }
>  
> @@ -1152,6 +1156,11 @@ static int do_move_page_to_node_array(struct mm_struct *mm,
>  				!migrate_all)
>  			goto put_and_set;
>  
> +		if (PageHuge(page)) {
> +			isolate_huge_page(page, &pagelist);
> +			goto put_and_set;
> +		}

This gives

In file included from mm/migrate.c:35:0:
mm/migrate.c: In function a??do_move_page_to_node_arraya??:
include/linux/hugetlb.h:140:33: warning: statement with no effect [-Wunused-value]
 #define isolate_huge_page(p, l) false
                                 ^
mm/migrate.c:1170:4: note: in expansion of macro a??isolate_huge_pagea??
    isolate_huge_page(page, &pagelist);

on a

# CONFIG_HUGETLBFS is not set

.config.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

--
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: Borislav Petkov <bp@alien8.de>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, Mel Gorman <mgorman@suse.de>,
	Hugh Dickins <hughd@google.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Andi Kleen <andi@firstfloor.org>, Hillf Danton <dhillf@gmail.com>,
	Michal Hocko <mhocko@suse.cz>, Rik van Riel <riel@redhat.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org,
	Naoya Horiguchi <nao.horiguchi@gmail.com>
Subject: Re: [PATCH 4/9] migrate: add hugepage migration code to move_pages()
Date: Sat, 28 Sep 2013 19:26:02 +0200	[thread overview]
Message-ID: <20130928172602.GA6191@pd.tnic> (raw)
In-Reply-To: <1376025702-14818-5-git-send-email-n-horiguchi@ah.jp.nec.com>

On Fri, Aug 09, 2013 at 01:21:37AM -0400, Naoya Horiguchi wrote:
> This patch extends move_pages() to handle vma with VM_HUGETLB set.
> We will be able to migrate hugepage with move_pages(2) after
> applying the enablement patch which comes later in this series.
> 
> We avoid getting refcount on tail pages of hugepage, because unlike thp,
> hugepage is not split and we need not care about races with splitting.
> 
> And migration of larger (1GB for x86_64) hugepage are not enabled.
> 
> ChangeLog v4:
>  - use get_page instead of get_page_foll
>  - add comment in follow_page_mask
> 
> ChangeLog v3:
>  - revert introducing migrate_movable_pages
>  - follow_page_mask(FOLL_GET) returns NULL for tail pages
>  - use isolate_huge_page
> 
> ChangeLog v2:
>  - updated description and renamed patch title
> 
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> Acked-by: Andi Kleen <ak@linux.intel.com>
> Reviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
> ---
>  mm/memory.c  | 17 +++++++++++++++--
>  mm/migrate.c | 13 +++++++++++--
>  2 files changed, 26 insertions(+), 4 deletions(-)

...

> diff --git v3.11-rc3.orig/mm/migrate.c v3.11-rc3/mm/migrate.c
> index 3ec47d3..d313737 100644
> --- v3.11-rc3.orig/mm/migrate.c
> +++ v3.11-rc3/mm/migrate.c
> @@ -1092,7 +1092,11 @@ static struct page *new_page_node(struct page *p, unsigned long private,
>  
>  	*result = &pm->status;
>  
> -	return alloc_pages_exact_node(pm->node,
> +	if (PageHuge(p))
> +		return alloc_huge_page_node(page_hstate(compound_head(p)),
> +					pm->node);
> +	else
> +		return alloc_pages_exact_node(pm->node,
>  				GFP_HIGHUSER_MOVABLE | GFP_THISNODE, 0);
>  }
>  
> @@ -1152,6 +1156,11 @@ static int do_move_page_to_node_array(struct mm_struct *mm,
>  				!migrate_all)
>  			goto put_and_set;
>  
> +		if (PageHuge(page)) {
> +			isolate_huge_page(page, &pagelist);
> +			goto put_and_set;
> +		}

This gives

In file included from mm/migrate.c:35:0:
mm/migrate.c: In function ‘do_move_page_to_node_array’:
include/linux/hugetlb.h:140:33: warning: statement with no effect [-Wunused-value]
 #define isolate_huge_page(p, l) false
                                 ^
mm/migrate.c:1170:4: note: in expansion of macro ‘isolate_huge_page’
    isolate_huge_page(page, &pagelist);

on a

# CONFIG_HUGETLBFS is not set

.config.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

  reply	other threads:[~2013-09-28 17:26 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-09  5:21 [PATCH v5 0/9] extend hugepage migration Naoya Horiguchi
2013-08-09  5:21 ` Naoya Horiguchi
2013-08-09  5:21 ` [PATCH 1/9] migrate: make core migration code aware of hugepage Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-09-10 13:51   ` Mel Gorman
2013-09-10 13:51     ` Mel Gorman
2013-09-10 19:18     ` Naoya Horiguchi
2013-09-10 19:18       ` Naoya Horiguchi
2013-08-09  5:21 ` [PATCH 2/9] soft-offline: use migrate_pages() instead of migrate_huge_page() Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-08-09  5:21 ` [PATCH 3/9] migrate: add hugepage migration code to migrate_pages() Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-08-14 23:41   ` Andrew Morton
2013-08-14 23:41     ` Andrew Morton
2013-08-15  1:15     ` Naoya Horiguchi
2013-08-15  1:15       ` Naoya Horiguchi
2013-09-10 14:33   ` Mel Gorman
2013-09-10 14:33     ` Mel Gorman
2013-09-10 19:45     ` Naoya Horiguchi
2013-09-10 19:45       ` Naoya Horiguchi
2013-08-09  5:21 ` [PATCH 4/9] migrate: add hugepage migration code to move_pages() Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-09-28 17:26   ` Borislav Petkov [this message]
2013-09-28 17:26     ` Borislav Petkov
2013-09-30 15:01     ` Naoya Horiguchi
2013-09-30 15:01       ` Naoya Horiguchi
2013-09-30 16:04       ` Borislav Petkov
2013-09-30 16:04         ` Borislav Petkov
2013-09-30 16:08         ` Naoya Horiguchi
2013-09-30 16:08           ` Naoya Horiguchi
2013-11-12 11:56           ` Borislav Petkov
2013-11-12 11:56             ` Borislav Petkov
2013-11-14 15:47             ` [PATCH] mm/migrate.c: take returned value of isolate_huge_page()(Re: [PATCH 4/9] migrate: add hugepage migration code to move_pages()) Naoya Horiguchi
2013-11-14 15:47               ` Naoya Horiguchi
2013-11-14 23:11               ` David Rientjes
2013-11-14 23:11                 ` David Rientjes
2013-11-15 15:03                 ` [PATCH] mm/migrate.c: take returned value ofisolate_huge_page()(Re: [PATCH 4/9] migrate: add hugepage migration code tomove_pages()) Naoya Horiguchi
2013-11-15 15:03                   ` Naoya Horiguchi
2013-11-15 23:01                   ` David Rientjes
2013-11-15 23:01                     ` David Rientjes
2013-08-09  5:21 ` [PATCH 5/9] mbind: add hugepage migration code to mbind() Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-09-10 14:41   ` Mel Gorman
2013-09-10 14:41     ` Mel Gorman
2013-09-10 21:53     ` Naoya Horiguchi
2013-09-10 21:53       ` Naoya Horiguchi
2013-09-10 22:47       ` Andi Kleen
2013-09-10 22:47         ` Andi Kleen
2013-08-09  5:21 ` [PATCH 6/9] migrate: remove VM_HUGETLB from vma flag check in vma_migratable() Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-08-09  5:21 ` [PATCH 7/9] memory-hotplug: enable memory hotplug to handle hugepage Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-08-09  5:21 ` [PATCH 8/9] migrate: check movability of hugepage in unmap_and_move_huge_page() Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-08-11 17:51   ` Aneesh Kumar K.V
2013-08-11 17:51     ` Aneesh Kumar K.V
2013-08-09  5:21 ` [PATCH 9/9] prepare to remove /proc/sys/vm/hugepages_treat_as_movable Naoya Horiguchi
2013-08-09  5:21   ` Naoya Horiguchi
2013-08-11 17:43   ` Aneesh Kumar K.V
2013-08-11 17:43     ` Aneesh Kumar K.V
2013-08-12 18:10     ` Naoya Horiguchi
2013-08-12 18:10       ` Naoya Horiguchi
2013-09-10 14:48   ` Mel Gorman
2013-09-10 14:48     ` Mel Gorman
2013-08-14 23:40 ` [PATCH v5 0/9] extend hugepage migration Andrew Morton
2013-08-14 23:40   ` Andrew Morton
2013-08-15  6:23   ` Naoya Horiguchi
2013-08-15  6:23     ` Naoya Horiguchi
2013-08-15 19:39     ` Andrew Morton
2013-08-15 19:39       ` Andrew Morton
2013-08-15 19:48       ` Naoya Horiguchi
2013-08-15 19:48         ` Naoya Horiguchi

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=20130928172602.GA6191@pd.tnic \
    --to=bp@alien8.de \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=dhillf@gmail.com \
    --cc=hughd@google.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liwanp@linux.vnet.ibm.com \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.cz \
    --cc=n-horiguchi@ah.jp.nec.com \
    --cc=nao.horiguchi@gmail.com \
    --cc=riel@redhat.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.