The patch titled Subject: asm-generic/tlb: stub out pmd_free_tlb() if nopmd has been added to the -mm tree. Its filename is asm-generic-tlb-stub-out-pmd_free_tlb-if-nopmd.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/asm-generic-tlb-stub-out-pmd_free_tlb-if-nopmd.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/asm-generic-tlb-stub-out-pmd_free_tlb-if-nopmd.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Subject: asm-generic/tlb: stub out pmd_free_tlb() if nopmd This came up when removing __ARCH_HAS_5LEVEL_HACK for ARC as code bloat. With this patch we see the following code reduction. | bloat-o-meter2 vmlinux-E-elide-p?d_clear_bad vmlinux-F-elide-pmd_free_tlb | add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-112 (-112) | function old new delta | free_pgd_range 422 310 -112 | Total: Before=4137042, After=4136930, chg -1.000000% Note that pmd folding can be tricky: In 2-level setup (where pmd is conceptually folded) most pmd routines are valid and refer to upper levels. In this patch we can, but see next patch for example where we can't Link: http://lkml.kernel.org/r/20191016162400.14796-5-vgupta@xxxxxxxxxxxx Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "Aneesh Kumar K . V" <aneesh.kumar@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nick Piggin <npiggin@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/asm-generic/pgtable-nopmd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/include/asm-generic/pgtable-nopmd.h~asm-generic-tlb-stub-out-pmd_free_tlb-if-nopmd +++ a/include/asm-generic/pgtable-nopmd.h @@ -60,7 +60,7 @@ static inline pmd_t * pmd_offset(pud_t * static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) { } -#define __pmd_free_tlb(tlb, x, a) do { } while (0) +#define pmd_free_tlb(tlb, x, a) do { } while (0) #undef pmd_addr_end #define pmd_addr_end(addr, end) (end) _ Patches currently in -mm which might be from Vineet.Gupta1@xxxxxxxxxxxx are arc-mm-remove-__arch_use_5level_hack.patch asm-generic-tlb-stub-out-pud_free_tlb-if-nopud.patch asm-generic-tlb-stub-out-p4d_free_tlb-if-nop4d.patch asm-generic-tlb-stub-out-pmd_free_tlb-if-nopmd.patch asm-generic-mm-stub-out-p4ud_clear_bad-if-__pagetable_p4ud_folded.patch