From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.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>,
Wanpeng Li <liwanp@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org,
Naoya Horiguchi <nao.horiguchi@gmail.com>
Subject: Re: [PATCH 9/8] hugetlb: add pmd_huge_support() to migrate only pmd-based hugepage
Date: Tue, 06 Aug 2013 07:26:10 +0530 [thread overview]
Message-ID: <87eha7oa4l.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1375734465-scgr8g4z-mutt-n-horiguchi@ah.jp.nec.com>
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> writes:
> This patch is motivated by the discussion with Aneesh about "extend
> hugepage migration" patchset.
> http://thread.gmane.org/gmane.linux.kernel.mm/103933/focus=104391
> I'll append this to the patchset in the next post, but before that
> I want this patch to be reviewed (I don't want to repeat posting the
> whole set for just minor changes.)
>
> Any comments?
>
> Thanks,
> Naoya Horiguchi
> ---
> From: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> Date: Mon, 5 Aug 2013 13:33:02 -0400
> Subject: [PATCH] hugetlb: add pmd_huge_support() to migrate only pmd-based
> hugepage
>
> Currently hugepage migration works well only for pmd-based hugepages,
> because core routines of hugepage migration use pmd specific internal
> functions like huge_pte_offset(). So we should not enable the migration
> of other levels of hugepages until we are ready for it.
I guess huge_pte_offset may not be the right reason because archs do
implement huge_pte_offsets even if they are not pmd-based hugepages
pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr)
{
/* Only called for hugetlbfs pages, hence can ignore THP */
return find_linux_pte_or_hugepte(mm->pgd, addr, NULL);
}
>
> Some users of hugepage migration (mbind, move_pages, and migrate_pages)
> do page table walk and check pud/pmd_huge() there, so they are safe.
> But the other users (softoffline and memory hotremove) don't do this,
> so they can try to migrate unexpected types of hugepages.
>
> To prevent this, we introduce an architecture dependent check of whether
> hugepage are implemented on a pmd basis or not. It returns 0 if pmd_huge()
> returns always 0, and 1 otherwise.
>
so why not #define pmd_huge_support pmd_huge or use pmd_huge directly ?
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> ---
> arch/arm/mm/hugetlbpage.c | 5 +++++
> arch/arm64/mm/hugetlbpage.c | 5 +++++
> arch/ia64/mm/hugetlbpage.c | 5 +++++
> arch/metag/mm/hugetlbpage.c | 5 +++++
> arch/mips/mm/hugetlbpage.c | 5 +++++
> arch/powerpc/mm/hugetlbpage.c | 10 ++++++++++
> arch/s390/mm/hugetlbpage.c | 5 +++++
> arch/sh/mm/hugetlbpage.c | 5 +++++
> arch/sparc/mm/hugetlbpage.c | 5 +++++
> arch/tile/mm/hugetlbpage.c | 5 +++++
> arch/x86/mm/hugetlbpage.c | 8 ++++++++
> include/linux/hugetlb.h | 2 ++
> mm/migrate.c | 11 +++++++++++
> 13 files changed, 76 insertions(+)
>
> diff --git a/arch/arm/mm/hugetlbpage.c b/arch/arm/mm/hugetlbpage.c
> index 3d1e4a2..3f3b6a7 100644
> --- a/arch/arm/mm/hugetlbpage.c
> +++ b/arch/arm/mm/hugetlbpage.c
> @@ -99,3 +99,8 @@ int pmd_huge(pmd_t pmd)
> {
> return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);
> }
> +
> +int pmd_huge_support(void)
> +{
> + return 1;
> +}
-aneesh
--
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: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.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>,
Wanpeng Li <liwanp@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org,
Naoya Horiguchi <nao.horiguchi@gmail.com>
Subject: Re: [PATCH 9/8] hugetlb: add pmd_huge_support() to migrate only pmd-based hugepage
Date: Tue, 06 Aug 2013 07:26:10 +0530 [thread overview]
Message-ID: <87eha7oa4l.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1375734465-scgr8g4z-mutt-n-horiguchi@ah.jp.nec.com>
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> writes:
> This patch is motivated by the discussion with Aneesh about "extend
> hugepage migration" patchset.
> http://thread.gmane.org/gmane.linux.kernel.mm/103933/focus=104391
> I'll append this to the patchset in the next post, but before that
> I want this patch to be reviewed (I don't want to repeat posting the
> whole set for just minor changes.)
>
> Any comments?
>
> Thanks,
> Naoya Horiguchi
> ---
> From: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> Date: Mon, 5 Aug 2013 13:33:02 -0400
> Subject: [PATCH] hugetlb: add pmd_huge_support() to migrate only pmd-based
> hugepage
>
> Currently hugepage migration works well only for pmd-based hugepages,
> because core routines of hugepage migration use pmd specific internal
> functions like huge_pte_offset(). So we should not enable the migration
> of other levels of hugepages until we are ready for it.
I guess huge_pte_offset may not be the right reason because archs do
implement huge_pte_offsets even if they are not pmd-based hugepages
pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr)
{
/* Only called for hugetlbfs pages, hence can ignore THP */
return find_linux_pte_or_hugepte(mm->pgd, addr, NULL);
}
>
> Some users of hugepage migration (mbind, move_pages, and migrate_pages)
> do page table walk and check pud/pmd_huge() there, so they are safe.
> But the other users (softoffline and memory hotremove) don't do this,
> so they can try to migrate unexpected types of hugepages.
>
> To prevent this, we introduce an architecture dependent check of whether
> hugepage are implemented on a pmd basis or not. It returns 0 if pmd_huge()
> returns always 0, and 1 otherwise.
>
so why not #define pmd_huge_support pmd_huge or use pmd_huge directly ?
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> ---
> arch/arm/mm/hugetlbpage.c | 5 +++++
> arch/arm64/mm/hugetlbpage.c | 5 +++++
> arch/ia64/mm/hugetlbpage.c | 5 +++++
> arch/metag/mm/hugetlbpage.c | 5 +++++
> arch/mips/mm/hugetlbpage.c | 5 +++++
> arch/powerpc/mm/hugetlbpage.c | 10 ++++++++++
> arch/s390/mm/hugetlbpage.c | 5 +++++
> arch/sh/mm/hugetlbpage.c | 5 +++++
> arch/sparc/mm/hugetlbpage.c | 5 +++++
> arch/tile/mm/hugetlbpage.c | 5 +++++
> arch/x86/mm/hugetlbpage.c | 8 ++++++++
> include/linux/hugetlb.h | 2 ++
> mm/migrate.c | 11 +++++++++++
> 13 files changed, 76 insertions(+)
>
> diff --git a/arch/arm/mm/hugetlbpage.c b/arch/arm/mm/hugetlbpage.c
> index 3d1e4a2..3f3b6a7 100644
> --- a/arch/arm/mm/hugetlbpage.c
> +++ b/arch/arm/mm/hugetlbpage.c
> @@ -99,3 +99,8 @@ int pmd_huge(pmd_t pmd)
> {
> return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);
> }
> +
> +int pmd_huge_support(void)
> +{
> + return 1;
> +}
-aneesh
next prev parent reply other threads:[~2013-08-06 1:56 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-25 4:54 [PATCH v4 0/8] extend hugepage migration Naoya Horiguchi
2013-07-25 4:54 ` Naoya Horiguchi
2013-07-25 4:54 ` [PATCH 1/8] migrate: make core migration code aware of hugepage Naoya Horiguchi
2013-07-25 4:54 ` Naoya Horiguchi
2013-07-25 6:06 ` Hillf Danton
2013-07-25 6:06 ` Hillf Danton
2013-07-30 18:28 ` Aneesh Kumar K.V
2013-07-30 18:28 ` Aneesh Kumar K.V
2013-07-30 18:48 ` Naoya Horiguchi
2013-07-30 18:48 ` Naoya Horiguchi
2013-07-25 4:54 ` [PATCH 2/8] soft-offline: use migrate_pages() instead of migrate_huge_page() Naoya Horiguchi
2013-07-25 4:54 ` Naoya Horiguchi
2013-07-25 6:09 ` Hillf Danton
2013-07-25 6:09 ` Hillf Danton
2013-07-25 4:54 ` [PATCH 3/8] migrate: add hugepage migration code to migrate_pages() Naoya Horiguchi
2013-07-25 4:54 ` Naoya Horiguchi
2013-07-25 6:17 ` Hillf Danton
2013-07-25 6:17 ` Hillf Danton
2013-07-25 4:54 ` [PATCH 4/8] migrate: add hugepage migration code to move_pages() Naoya Horiguchi
2013-07-25 4:54 ` Naoya Horiguchi
2013-07-25 4:55 ` [PATCH 5/8] mbind: add hugepage migration code to mbind() Naoya Horiguchi
2013-07-25 4:55 ` Naoya Horiguchi
2013-07-25 6:33 ` Hillf Danton
2013-07-25 6:33 ` Hillf Danton
2013-07-25 4:55 ` [PATCH 6/8] migrate: remove VM_HUGETLB from vma flag check in vma_migratable() Naoya Horiguchi
2013-07-25 4:55 ` Naoya Horiguchi
2013-07-25 4:55 ` [PATCH 7/8] memory-hotplug: enable memory hotplug to handle hugepage Naoya Horiguchi
2013-07-25 4:55 ` Naoya Horiguchi
2013-07-25 4:55 ` [PATCH 8/8] prepare to remove /proc/sys/vm/hugepages_treat_as_movable Naoya Horiguchi
2013-07-25 4:55 ` Naoya Horiguchi
2013-07-30 18:32 ` Aneesh Kumar K.V
2013-07-30 18:32 ` Aneesh Kumar K.V
2013-07-31 20:24 ` Naoya Horiguchi
2013-07-31 20:24 ` Naoya Horiguchi
2013-08-01 5:59 ` Aneesh Kumar K.V
2013-08-01 5:59 ` Aneesh Kumar K.V
2013-08-02 2:43 ` Naoya Horiguchi
2013-08-02 2:43 ` Naoya Horiguchi
2013-08-06 1:52 ` Aneesh Kumar K.V
2013-08-06 1:52 ` Aneesh Kumar K.V
2013-08-06 4:30 ` Naoya Horiguchi
2013-08-06 4:30 ` Naoya Horiguchi
2013-08-05 20:27 ` [PATCH 9/8] hugetlb: add pmd_huge_support() to migrate only pmd-based hugepage Naoya Horiguchi
2013-08-05 20:27 ` Naoya Horiguchi
2013-08-06 1:56 ` Aneesh Kumar K.V [this message]
2013-08-06 1:56 ` Aneesh Kumar K.V
2013-08-06 4:48 ` Naoya Horiguchi
2013-08-06 4: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=87eha7oa4l.fsf@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--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.