OSDN Git Service

arm64: tlb: Remove redundant !CONFIG_HAVE_RCU_TABLE_FREE code
authorWill Deacon <will.deacon@arm.com>
Thu, 23 Aug 2018 18:48:44 +0000 (19:48 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 11 Sep 2018 15:49:12 +0000 (16:49 +0100)
If there's one thing the RCU-based table freeing doesn't need, it's more
ifdeffery.

Remove the redundant !CONFIG_HAVE_RCU_TABLE_FREE code, since this option
is unconditionally selected in our Kconfig.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/tlb.h

index 1e1f68c..bd00017 100644 (file)
 #include <linux/pagemap.h>
 #include <linux/swap.h>
 
-#ifdef CONFIG_HAVE_RCU_TABLE_FREE
-
-#define tlb_remove_entry(tlb, entry)   tlb_remove_table(tlb, entry)
 static inline void __tlb_remove_table(void *_table)
 {
        free_page_and_swap_cache((struct page *)_table);
 }
-#else
-#define tlb_remove_entry(tlb, entry)   tlb_remove_page(tlb, entry)
-#endif /* CONFIG_HAVE_RCU_TABLE_FREE */
 
 static void tlb_flush(struct mmu_gather *tlb);
 
@@ -61,7 +55,7 @@ static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
 {
        __flush_tlb_pgtable(tlb->mm, addr);
        pgtable_page_dtor(pte);
-       tlb_remove_entry(tlb, pte);
+       tlb_remove_table(tlb, pte);
 }
 
 #if CONFIG_PGTABLE_LEVELS > 2
@@ -69,7 +63,7 @@ static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,
                                  unsigned long addr)
 {
        __flush_tlb_pgtable(tlb->mm, addr);
-       tlb_remove_entry(tlb, virt_to_page(pmdp));
+       tlb_remove_table(tlb, virt_to_page(pmdp));
 }
 #endif
 
@@ -78,7 +72,7 @@ static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pudp,
                                  unsigned long addr)
 {
        __flush_tlb_pgtable(tlb->mm, addr);
-       tlb_remove_entry(tlb, virt_to_page(pudp));
+       tlb_remove_table(tlb, virt_to_page(pudp));
 }
 #endif