diff options
Diffstat (limited to 'arch/s390/include/asm/tlb.h')
| -rw-r--r-- | arch/s390/include/asm/tlb.h | 22 | 
1 files changed, 1 insertions, 21 deletions
diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h index c687a2c8346..775a5eea8f9 100644 --- a/arch/s390/include/asm/tlb.h +++ b/arch/s390/include/asm/tlb.h @@ -30,14 +30,10 @@  struct mmu_gather {  	struct mm_struct *mm; -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  	struct mmu_table_batch *batch; -#endif  	unsigned int fullmm; -	unsigned int need_flush;  }; -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  struct mmu_table_batch {  	struct rcu_head		rcu;  	unsigned int		nr; @@ -49,7 +45,6 @@ struct mmu_table_batch {  extern void tlb_table_flush(struct mmu_gather *tlb);  extern void tlb_remove_table(struct mmu_gather *tlb, void *table); -#endif  static inline void tlb_gather_mmu(struct mmu_gather *tlb,  				  struct mm_struct *mm, @@ -57,29 +52,20 @@ static inline void tlb_gather_mmu(struct mmu_gather *tlb,  {  	tlb->mm = mm;  	tlb->fullmm = full_mm_flush; -	tlb->need_flush = 0; -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  	tlb->batch = NULL; -#endif  	if (tlb->fullmm)  		__tlb_flush_mm(mm);  }  static inline void tlb_flush_mmu(struct mmu_gather *tlb)  { -	if (!tlb->need_flush) -		return; -	tlb->need_flush = 0; -	__tlb_flush_mm(tlb->mm); -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  	tlb_table_flush(tlb); -#endif  }  static inline void tlb_finish_mmu(struct mmu_gather *tlb,  				  unsigned long start, unsigned long end)  { -	tlb_flush_mmu(tlb); +	tlb_table_flush(tlb);  }  /* @@ -105,10 +91,8 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)  static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,  				unsigned long address)  { -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  	if (!tlb->fullmm)  		return page_table_free_rcu(tlb, (unsigned long *) pte); -#endif  	page_table_free(tlb->mm, (unsigned long *) pte);  } @@ -125,10 +109,8 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd,  #ifdef __s390x__  	if (tlb->mm->context.asce_limit <= (1UL << 31))  		return; -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  	if (!tlb->fullmm)  		return tlb_remove_table(tlb, pmd); -#endif  	crst_table_free(tlb->mm, (unsigned long *) pmd);  #endif  } @@ -146,10 +128,8 @@ static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,  #ifdef __s390x__  	if (tlb->mm->context.asce_limit <= (1UL << 42))  		return; -#ifdef CONFIG_HAVE_RCU_TABLE_FREE  	if (!tlb->fullmm)  		return tlb_remove_table(tlb, pud); -#endif  	crst_table_free(tlb->mm, (unsigned long *) pud);  #endif  }  |