[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180913184836.GN24142@hirez.programming.kicks-ass.net>
Date: Thu, 13 Sep 2018 20:48:36 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Dave Hansen <dave.hansen@...ux.intel.com>
Cc: will.deacon@....com, aneesh.kumar@...ux.vnet.ibm.com,
akpm@...ux-foundation.org, npiggin@...il.com,
linux-arch@...r.kernel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, linux@...linux.org.uk,
heiko.carstens@...ibm.com
Subject: Re: [RFC][PATCH 03/11] x86/mm: Page size aware flush_tlb_mm_range()
On Thu, Sep 13, 2018 at 08:46:32PM +0200, Peter Zijlstra wrote:
> On Thu, Sep 13, 2018 at 08:42:30PM +0200, Peter Zijlstra wrote:
> > > > +#define flush_tlb_range(vma, start, end) \
> > > > + flush_tlb_mm_range((vma)->vm_mm, start, end, \
> > > > + (vma)->vm_flags & VM_HUGETLB ? PMD_SHIFT : PAGE_SHIFT)
> > >
> > > This is safe. But, Couldn't this PMD_SHIFT also be PUD_SHIFT for a 1G
> > > hugetlb page?
> >
> > It could be, but can we tell at that point?
>
> I had me a look in higetlb.h, would something like so work?
>
> #define flush_tlb_range(vma, start, end) \
> flush_tlb_mm_range((vma)->vm_mm, start, end, \
> huge_page_shift(hstate_vma(vma)))
>
D'uh
#define flush_tlb_range(vma, start, end) \
flush_tlb_mm_range((vma)->vm_mm, start, end, \
(vma)->vm_flags & VM_HUGETLB ? huge_page_shift(hstate_vma(vma)) : PAGE_SHIFT)
Powered by blists - more mailing lists