linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Mina Almasry <almasrymina@google.com>
To: Mike Kravetz <mike.kravetz@oracle.com>,
	James Houghton <jthoughton@google.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	 Muchun Song <muchun.song@linux.dev>,
	kirill@shutemov.name, joel@joelfernandes.org,
	 william.kucharski@oracle.com, kaleshsingh@google.com,
	linux-mm@kvack.org,  linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/4] mm: hugetlb: use flush_hugetlb_tlb_range() in move_hugetlb_page_tables()
Date: Wed, 2 Aug 2023 17:26:17 -0700	[thread overview]
Message-ID: <CAHS8izM=_TWVhu9OcEFBg=MDYrh4BFmzM8a3=tSRPRBmkuAUuQ@mail.gmail.com> (raw)
In-Reply-To: <20230731234027.GB39768@monkey>

On Mon, Jul 31, 2023 at 4:40 PM Mike Kravetz <mike.kravetz@oracle.com> wrote:
>
> On 07/31/23 15:48, Kefeng Wang wrote:
> > Archs may need to do special things when flushing hugepage tlb,
> > so use the more applicable flush_hugetlb_tlb_range() instead of
> > flush_tlb_range().
> >
> > Fixes: 550a7d60bd5e ("mm, hugepages: add mremap() support for hugepage backed vma")
> > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>
> Thanks!
>
> Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
>

Sorry for jumping in late, but given the concerns raised around HGM
and the deviation between hugetlb and the rest of MM, does it make
sense to try to make an incremental effort towards avoiding hugetlb
specialization?

In the context of this patch, I would prefer that the arch upgrade
flush_tlb_range() to handle hugetlb correctly, instead of adding more
hugetlb specific deviations, ala flush_hugetlb_tlb_range. While it's
at it, maybe replace flush_hugetlb_tlb_range() in the code with
flush_tlb_range().

Although, I don't have the expertise to judge if upgrading
flush_tlb_range() to handle hugetlb is easy or feasible at all.

> Although, I missed this in 550a7d60bd5e :(
>
> Looks like only powerpc provides an arch specific flush_hugetlb_tlb_range
> today.
> --
> Mike Kravetz
>
> > ---
> >  mm/hugetlb.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> > index 64a3239b6407..ac876bfba340 100644
> > --- a/mm/hugetlb.c
> > +++ b/mm/hugetlb.c
> > @@ -5281,9 +5281,9 @@ int move_hugetlb_page_tables(struct vm_area_struct *vma,
> >       }
> >
> >       if (shared_pmd)
> > -             flush_tlb_range(vma, range.start, range.end);
> > +             flush_hugetlb_tlb_range(vma, range.start, range.end);
> >       else
> > -             flush_tlb_range(vma, old_end - len, old_end);
> > +             flush_hugetlb_tlb_range(vma, old_end - len, old_end);
> >       mmu_notifier_invalidate_range_end(&range);
> >       i_mmap_unlock_write(mapping);
> >       hugetlb_vma_unlock_write(vma);
> > --
> > 2.41.0
> >



-- 
Thanks,
Mina


  reply	other threads:[~2023-08-03  0:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-31  7:48 [PATCH 0/4] mm: mremap: fix move page tables Kefeng Wang
2023-07-31  7:48 ` [PATCH 1/4] mm: hugetlb: use flush_hugetlb_tlb_range() in move_hugetlb_page_tables() Kefeng Wang
2023-07-31 23:40   ` Mike Kravetz
2023-08-03  0:26     ` Mina Almasry [this message]
2023-08-01  2:06   ` Muchun Song
2023-07-31  7:48 ` [PATCH 2/4] mm: mremap: use flush_pmd_tlb_range() in move_normal_pmd() Kefeng Wang
2023-07-31 11:05   ` Catalin Marinas
2023-07-31 11:20     ` Kefeng Wang
2023-07-31 13:58   ` kernel test robot
2023-07-31 21:43   ` kernel test robot
2023-07-31  7:48 ` [PATCH 3/4] mm: mremap: use flush_pud_tlb_range in move_normal_pud() Kefeng Wang
2023-07-31 16:42   ` kernel test robot
2023-07-31  7:48 ` [PATCH 4/4] arm64: tlb: set huge page size to stride for hugepage Kefeng Wang
2023-07-31  8:33   ` Barry Song
2023-07-31  8:43     ` Barry Song
2023-07-31  9:28       ` Kefeng Wang
2023-07-31 10:21         ` Barry Song
2023-07-31 11:11   ` Catalin Marinas
2023-07-31 11:27     ` Kefeng Wang
2023-07-31 13:18       ` Catalin Marinas

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='CAHS8izM=_TWVhu9OcEFBg=MDYrh4BFmzM8a3=tSRPRBmkuAUuQ@mail.gmail.com' \
    --to=almasrymina@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=joel@joelfernandes.org \
    --cc=jthoughton@google.com \
    --cc=kaleshsingh@google.com \
    --cc=kirill@shutemov.name \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mike.kravetz@oracle.com \
    --cc=muchun.song@linux.dev \
    --cc=wangkefeng.wang@huawei.com \
    --cc=will@kernel.org \
    --cc=william.kucharski@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox