arm64: tlb: Remove redundant !CONFIG_HAVE_RCU_TABLE_FREE code
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>
This commit is contained in:

committed by
Catalin Marinas

parent
67a902ac59
commit
07212cd47e
@@ -22,16 +22,10 @@
|
|||||||
#include <linux/pagemap.h>
|
#include <linux/pagemap.h>
|
||||||
#include <linux/swap.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)
|
static inline void __tlb_remove_table(void *_table)
|
||||||
{
|
{
|
||||||
free_page_and_swap_cache((struct page *)_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);
|
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);
|
__flush_tlb_pgtable(tlb->mm, addr);
|
||||||
pgtable_page_dtor(pte);
|
pgtable_page_dtor(pte);
|
||||||
tlb_remove_entry(tlb, pte);
|
tlb_remove_table(tlb, pte);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_PGTABLE_LEVELS > 2
|
#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)
|
unsigned long addr)
|
||||||
{
|
{
|
||||||
__flush_tlb_pgtable(tlb->mm, addr);
|
__flush_tlb_pgtable(tlb->mm, addr);
|
||||||
tlb_remove_entry(tlb, virt_to_page(pmdp));
|
tlb_remove_table(tlb, virt_to_page(pmdp));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -78,7 +72,7 @@ static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pudp,
|
|||||||
unsigned long addr)
|
unsigned long addr)
|
||||||
{
|
{
|
||||||
__flush_tlb_pgtable(tlb->mm, addr);
|
__flush_tlb_pgtable(tlb->mm, addr);
|
||||||
tlb_remove_entry(tlb, virt_to_page(pudp));
|
tlb_remove_table(tlb, virt_to_page(pudp));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user