Re: [RFC][PATCH 03/11] x86/mm: Page size aware flush_tlb_mm_range()
From: Peter Zijlstra <peterz@infradead.org>
Date: 2018-09-13 18:48:47
Also in:
linux-mm, lkml
From: Peter Zijlstra <peterz@infradead.org>
Date: 2018-09-13 18:48:47
Also in:
linux-mm, lkml
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:quoted
quoted
quoted
+#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)