On 7/27/20 8:33 PM, Nicholas Piggin wrote: > Cc: Russell King <linux@xxxxxxxxxxxxxxx> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx> > --- > arch/arm/include/asm/mmu_context.h | 26 +++----------------------- > 1 file changed, 3 insertions(+), 23 deletions(-) > > diff --git a/arch/arm/include/asm/mmu_context.h b/arch/arm/include/asm/mmu_context.h > index f99ed524fe41..84e58956fcab 100644 > --- a/arch/arm/include/asm/mmu_context.h > +++ b/arch/arm/include/asm/mmu_context.h > @@ -26,6 +26,8 @@ void __check_vmalloc_seq(struct mm_struct *mm); > #ifdef CONFIG_CPU_HAS_ASID > > void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk); > + > +#define init_new_context init_new_context > static inline int > init_new_context(struct task_struct *tsk, struct mm_struct *mm) > { > @@ -92,32 +94,10 @@ static inline void finish_arch_post_lock_switch(void) > > #endif /* CONFIG_MMU */ > > -static inline int > -init_new_context(struct task_struct *tsk, struct mm_struct *mm) > -{ > - return 0; > -} > - > - > #endif /* CONFIG_CPU_HAS_ASID */ > > -#define destroy_context(mm) do { } while(0) > #define activate_mm(prev,next) switch_mm(prev, next, NULL) Actually this can also go away too. ARM switch_mm(prev, next, tsk) -> check_and_switch_context(next, tsk) but latter doesn't use @tsk at all. With patch below, you can remove above as well... --------> >From 672e0f78a94892794057a5a7542d85b71c1369c4 Mon Sep 17 00:00:00 2001 From: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon, 27 Jul 2020 21:12:42 -0700 Subject: [PATCH] ARM: mm: check_and_switch_context() doesn't use @tsk arg Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> --- arch/arm/include/asm/efi.h | 2 +- arch/arm/include/asm/mmu_context.h | 5 ++--- arch/arm/mm/context.c | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/arm/include/asm/efi.h b/arch/arm/include/asm/efi.h index 5dcf3c6011b7..0995b308149d 100644 --- a/arch/arm/include/asm/efi.h +++ b/arch/arm/include/asm/efi.h @@ -37,7 +37,7 @@ int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md); static inline void efi_set_pgd(struct mm_struct *mm) { - check_and_switch_context(mm, NULL); + check_and_switch_context(mm); } void efi_virtmap_load(void); diff --git a/arch/arm/include/asm/mmu_context.h b/arch/arm/include/asm/mmu_context.h index f99ed524fe41..c96360fa3466 100644 --- a/arch/arm/include/asm/mmu_context.h +++ b/arch/arm/include/asm/mmu_context.h @@ -25,7 +25,7 @@ void __check_vmalloc_seq(struct mm_struct *mm); #ifdef CONFIG_CPU_HAS_ASID -void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk); +void check_and_switch_context(struct mm_struct *mm); static inline int init_new_context(struct task_struct *tsk, struct mm_struct *mm) { @@ -47,8 +47,7 @@ static inline void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, #ifdef CONFIG_MMU -static inline void check_and_switch_context(struct mm_struct *mm, - struct task_struct *tsk) +static inline void check_and_switch_context(struct mm_struct *mm) { if (unlikely(mm->context.vmalloc_seq != init_mm.context.vmalloc_seq)) __check_vmalloc_seq(mm); diff --git a/arch/arm/mm/context.c b/arch/arm/mm/context.c index b7525b433f3e..86c411e1d7cb 100644 --- a/arch/arm/mm/context.c +++ b/arch/arm/mm/context.c @@ -234,7 +234,7 @@ static u64 new_context(struct mm_struct *mm, unsigned int cpu) return asid | generation; } -void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk) +void check_and_switch_context(struct mm_struct *mm) { unsigned long flags; unsigned int cpu = smp_processor_id(); -- 2.20.1