[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86611bf1-13b2-65e5-50d5-b0701020cd3e@synopsys.com>
Date: Tue, 28 Jul 2020 04:14:18 +0000
From: Vineet Gupta <Vineet.Gupta1@...opsys.com>
To: Nicholas Piggin <npiggin@...il.com>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
Arnd Bergmann <arnd@...db.de>,
Russell King <linux@...linux.org.uk>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
arcml <linux-snps-arc@...ts.infradead.org>
Subject: Re: [PATCH 04/24] arm: use asm-generic/mmu_context.h for no-op
implementations
On 7/27/20 8:33 PM, Nicholas Piggin wrote:
> Cc: Russell King <linux@...linux.org.uk>
> Cc: linux-arm-kernel@...ts.infradead.org
> Signed-off-by: Nicholas Piggin <npiggin@...il.com>
> ---
> 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@...opsys.com>
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@...opsys.com>
---
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
Powered by blists - more mailing lists