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)

Reply via email to