All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.cz>
To: Tony Lu <zlu@tilera.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Hillf Danton <dhillf@gmail.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Chris Metcalf <cmetcalf@tilera.com>
Subject: Re: [PATCH 1/1] mm/hugetlb: Set PTE as huge in hugetlb_change_protection
Date: Mon, 21 Jan 2013 11:04:10 +0100	[thread overview]
Message-ID: <20130121100410.GE7798@dhcp22.suse.cz> (raw)
In-Reply-To: <BAB94DBB0E89D8409949BC28AC95914C47B123D2@USMAExch1.tad.internal.tilera.com>

On Mon 21-01-13 04:13:07, Tony Lu wrote:
> From da8432aafd231e7cdcda9d15484829def4663cb0 Mon Sep 17 00:00:00 2001
> From: Zhigang Lu <zlu@tilera.com>
> Date: Mon, 21 Jan 2013 11:23:26 +0800
> Subject: [PATCH 1/1] mm/hugetlb: Set PTE as huge in hugetlb_change_protection
> 
> When setting a huge PTE, besides calling pte_mkhuge(), we also need
> to call arch_make_huge_pte(), which we indeed do in make_huge_pte(),
> but we forget to do in hugetlb_change_protection().

I guess you also need it in remove_migration_pte. This calls for a
helper which would do both pte_mkhuge() and arch_make_huge_pte.

Besides that, tile seem to be the only arch which implements this arch
hook (introduced by 621b1955 in 3.5) so this should be considered for
stable.

> 
> Signed-off-by: Zhigang Lu <zlu@tilera.com>
> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
> ---
>  mm/hugetlb.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 4f3ea0b..546db81 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -3033,6 +3033,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma,
>                 if (!huge_pte_none(huge_ptep_get(ptep))) {
>                         pte = huge_ptep_get_and_clear(mm, address, ptep);
>                         pte = pte_mkhuge(pte_modify(pte, newprot));
> +                       pte = arch_make_huge_pte(pte, vma, NULL, 0);
>                         set_huge_pte_at(mm, address, ptep, pte);
>                         pages++;
>                 }
> -- 
> 1.7.10.3

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@suse.cz>
To: Tony Lu <zlu@tilera.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Hillf Danton <dhillf@gmail.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Chris Metcalf <cmetcalf@tilera.com>
Subject: Re: [PATCH 1/1] mm/hugetlb: Set PTE as huge in hugetlb_change_protection
Date: Mon, 21 Jan 2013 11:04:10 +0100	[thread overview]
Message-ID: <20130121100410.GE7798@dhcp22.suse.cz> (raw)
In-Reply-To: <BAB94DBB0E89D8409949BC28AC95914C47B123D2@USMAExch1.tad.internal.tilera.com>

On Mon 21-01-13 04:13:07, Tony Lu wrote:
> From da8432aafd231e7cdcda9d15484829def4663cb0 Mon Sep 17 00:00:00 2001
> From: Zhigang Lu <zlu@tilera.com>
> Date: Mon, 21 Jan 2013 11:23:26 +0800
> Subject: [PATCH 1/1] mm/hugetlb: Set PTE as huge in hugetlb_change_protection
> 
> When setting a huge PTE, besides calling pte_mkhuge(), we also need
> to call arch_make_huge_pte(), which we indeed do in make_huge_pte(),
> but we forget to do in hugetlb_change_protection().

I guess you also need it in remove_migration_pte. This calls for a
helper which would do both pte_mkhuge() and arch_make_huge_pte.

Besides that, tile seem to be the only arch which implements this arch
hook (introduced by 621b1955 in 3.5) so this should be considered for
stable.

> 
> Signed-off-by: Zhigang Lu <zlu@tilera.com>
> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
> ---
>  mm/hugetlb.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 4f3ea0b..546db81 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -3033,6 +3033,7 @@ unsigned long hugetlb_change_protection(struct vm_area_struct *vma,
>                 if (!huge_pte_none(huge_ptep_get(ptep))) {
>                         pte = huge_ptep_get_and_clear(mm, address, ptep);
>                         pte = pte_mkhuge(pte_modify(pte, newprot));
> +                       pte = arch_make_huge_pte(pte, vma, NULL, 0);
>                         set_huge_pte_at(mm, address, ptep, pte);
>                         pages++;
>                 }
> -- 
> 1.7.10.3

-- 
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>

  reply	other threads:[~2013-01-21 10:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-21  4:13 [PATCH 1/1] mm/hugetlb: Set PTE as huge in hugetlb_change_protection Tony Lu
2013-01-21 10:04 ` Michal Hocko [this message]
2013-01-21 10:04   ` Michal Hocko
2013-01-22  2:37   ` Tony Lu
2013-01-22 10:21     ` Michal Hocko
2013-01-22 10:21       ` Michal Hocko
2013-01-22 13:50     ` Hillf Danton
2013-01-22 13:50       ` Hillf Danton
2013-01-23  1:56       ` [PATCH v2] " Tony Lu
2013-01-23  4:56       ` [PATCH v2] mm/hugetlb: Set PTE as huge in hugetlb_change_protection and remove_migration_pte Tony Lu

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=20130121100410.GE7798@dhcp22.suse.cz \
    --to=mhocko@suse.cz \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=cmetcalf@tilera.com \
    --cc=dhillf@gmail.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=zlu@tilera.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.