From: Nicholas Piggin <npiggin@gmail.com> To: linux-arch@vger.kernel.org Cc: Nicholas Piggin <npiggin@gmail.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Arnd Bergmann <arnd@arndb.de>, Vineet Gupta <vgupta@synopsys.com>, linux-snps-arc@lists.infradead.org Subject: [PATCH 03/24] arc: use asm-generic/mmu_context.h for no-op implementations Date: Tue, 28 Jul 2020 13:33:44 +1000 [thread overview] Message-ID: <20200728033405.78469-4-npiggin@gmail.com> (raw) In-Reply-To: <20200728033405.78469-1-npiggin@gmail.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: linux-snps-arc@lists.infradead.org Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- arch/arc/include/asm/mmu_context.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arc/include/asm/mmu_context.h b/arch/arc/include/asm/mmu_context.h index 3a5e6a5b9ed6..586d31902a99 100644 --- a/arch/arc/include/asm/mmu_context.h +++ b/arch/arc/include/asm/mmu_context.h @@ -102,6 +102,7 @@ static inline void get_new_mmu_context(struct mm_struct *mm) * Initialize the context related info for a new mm_struct * instance. */ +#define init_new_context init_new_context static inline int init_new_context(struct task_struct *tsk, struct mm_struct *mm) { @@ -113,6 +114,7 @@ init_new_context(struct task_struct *tsk, struct mm_struct *mm) return 0; } +#define destroy_context destroy_context static inline void destroy_context(struct mm_struct *mm) { unsigned long flags; @@ -153,13 +155,12 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, } /* - * Called at the time of execve() to get a new ASID - * Note the subtlety here: get_new_mmu_context() behaves differently here - * vs. in switch_mm(). Here it always returns a new ASID, because mm has - * an unallocated "initial" value, while in latter, it moves to a new ASID, - * only if it was unallocated + * activate_mm defaults to switch_mm and is called at the time of execve() to + * get a new ASID Note the subtlety here: get_new_mmu_context() behaves + * differently here vs. in switch_mm(). Here it always returns a new ASID, + * because mm has an unallocated "initial" value, while in latter, it moves to + * a new ASID, only if it was unallocated */ -#define activate_mm(prev, next) switch_mm(prev, next, NULL) /* it seemed that deactivate_mm( ) is a reasonable place to do book-keeping * for retiring-mm. However destroy_context( ) still needs to do that because @@ -168,8 +169,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, * there is a good chance that task gets sched-out/in, making it's ASID valid * again (this teased me for a whole day). */ -#define deactivate_mm(tsk, mm) do { } while (0) -#define enter_lazy_tlb(mm, tsk) +#include <asm-generic/mmu_context.h> #endif /* __ASM_ARC_MMU_CONTEXT_H */ -- 2.23.0
WARNING: multiple messages have this Message-ID (diff)
From: Nicholas Piggin <npiggin@gmail.com> To: linux-arch@vger.kernel.org Cc: Arnd Bergmann <arnd@arndb.de>, Vineet Gupta <vgupta@synopsys.com>, linux-kernel@vger.kernel.org, Nicholas Piggin <npiggin@gmail.com>, linux-mm@kvack.org, linux-snps-arc@lists.infradead.org Subject: [PATCH 03/24] arc: use asm-generic/mmu_context.h for no-op implementations Date: Tue, 28 Jul 2020 13:33:44 +1000 [thread overview] Message-ID: <20200728033405.78469-4-npiggin@gmail.com> (raw) In-Reply-To: <20200728033405.78469-1-npiggin@gmail.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: linux-snps-arc@lists.infradead.org Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- arch/arc/include/asm/mmu_context.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arc/include/asm/mmu_context.h b/arch/arc/include/asm/mmu_context.h index 3a5e6a5b9ed6..586d31902a99 100644 --- a/arch/arc/include/asm/mmu_context.h +++ b/arch/arc/include/asm/mmu_context.h @@ -102,6 +102,7 @@ static inline void get_new_mmu_context(struct mm_struct *mm) * Initialize the context related info for a new mm_struct * instance. */ +#define init_new_context init_new_context static inline int init_new_context(struct task_struct *tsk, struct mm_struct *mm) { @@ -113,6 +114,7 @@ init_new_context(struct task_struct *tsk, struct mm_struct *mm) return 0; } +#define destroy_context destroy_context static inline void destroy_context(struct mm_struct *mm) { unsigned long flags; @@ -153,13 +155,12 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, } /* - * Called at the time of execve() to get a new ASID - * Note the subtlety here: get_new_mmu_context() behaves differently here - * vs. in switch_mm(). Here it always returns a new ASID, because mm has - * an unallocated "initial" value, while in latter, it moves to a new ASID, - * only if it was unallocated + * activate_mm defaults to switch_mm and is called at the time of execve() to + * get a new ASID Note the subtlety here: get_new_mmu_context() behaves + * differently here vs. in switch_mm(). Here it always returns a new ASID, + * because mm has an unallocated "initial" value, while in latter, it moves to + * a new ASID, only if it was unallocated */ -#define activate_mm(prev, next) switch_mm(prev, next, NULL) /* it seemed that deactivate_mm( ) is a reasonable place to do book-keeping * for retiring-mm. However destroy_context( ) still needs to do that because @@ -168,8 +169,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, * there is a good chance that task gets sched-out/in, making it's ASID valid * again (this teased me for a whole day). */ -#define deactivate_mm(tsk, mm) do { } while (0) -#define enter_lazy_tlb(mm, tsk) +#include <asm-generic/mmu_context.h> #endif /* __ASM_ARC_MMU_CONTEXT_H */ -- 2.23.0 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
next prev parent reply other threads:[~2020-07-28 3:34 UTC|newest] Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-28 3:33 [PATCH 00/24] Use asm-generic for mmu_context no-op functions Nicholas Piggin 2020-07-28 3:33 ` [PATCH 01/24] asm-generic: add generic versions of mmu context functions Nicholas Piggin 2020-07-28 4:01 ` Vineet Gupta 2020-07-28 10:37 ` Nicholas Piggin 2020-08-26 13:59 ` Nicholas Piggin 2020-07-28 5:53 ` kernel test robot 2020-07-28 5:53 ` kernel test robot 2020-07-28 5:53 ` kernel test robot 2020-07-28 5:53 ` kernel test robot 2020-07-28 23:52 ` kernel test robot 2020-07-28 23:52 ` kernel test robot 2020-07-28 23:52 ` kernel test robot 2020-07-28 23:52 ` kernel test robot 2020-07-28 3:33 ` [PATCH 02/24] alpha: use asm-generic/mmu_context.h for no-op implementations Nicholas Piggin 2020-07-28 3:33 ` Nicholas Piggin [this message] 2020-07-28 3:33 ` [PATCH 03/24] arc: " Nicholas Piggin 2020-07-28 3:58 ` Vineet Gupta 2020-07-28 3:58 ` Vineet Gupta 2020-07-28 3:58 ` Vineet Gupta 2020-07-28 3:33 ` [PATCH 04/24] arm: " Nicholas Piggin 2020-07-28 3:33 ` Nicholas Piggin 2020-07-28 4:14 ` Vineet Gupta 2020-07-28 4:14 ` Vineet Gupta 2020-07-28 4:14 ` Vineet Gupta 2020-07-28 4:14 ` Vineet Gupta 2020-08-26 14:14 ` Nicholas Piggin 2020-08-26 14:14 ` Nicholas Piggin 2020-08-26 14:14 ` Nicholas Piggin 2020-08-26 14:14 ` Nicholas Piggin 2020-07-28 3:33 ` [PATCH 05/24] arm64: " Nicholas Piggin 2020-07-28 3:33 ` Nicholas Piggin 2020-07-28 3:33 ` [PATCH 06/24] csky: " Nicholas Piggin 2020-07-28 4:09 ` Guo Ren 2020-07-28 4:09 ` Guo Ren 2020-07-28 3:33 ` [PATCH 07/24] hexagon: " Nicholas Piggin 2020-08-11 18:34 ` Brian Cain 2020-08-11 18:34 ` Brian Cain 2020-07-28 3:33 ` [PATCH 08/24] ia64: " Nicholas Piggin 2020-07-28 3:33 ` Nicholas Piggin 2020-07-28 3:33 ` [PATCH 09/24] m68k: " Nicholas Piggin 2020-07-30 8:11 ` kernel test robot 2020-07-30 8:11 ` kernel test robot 2020-07-30 8:11 ` kernel test robot 2020-07-30 8:11 ` kernel test robot 2020-07-28 3:33 ` [PATCH 10/24] microblaze: " Nicholas Piggin 2020-07-28 3:33 ` [PATCH 11/24] mips: " Nicholas Piggin 2020-07-28 3:33 ` [PATCH 12/24] nds32: " Nicholas Piggin 2020-07-28 3:33 ` [PATCH 13/24] nios2: " Nicholas Piggin 2020-07-28 3:33 ` [PATCH 14/24] openrisc: " Nicholas Piggin 2020-07-28 3:35 ` [OpenRISC] " Nicholas Piggin 2020-07-29 11:45 ` Stafford Horne 2020-07-29 11:45 ` [OpenRISC] " Stafford Horne 2020-08-26 14:33 ` Nicholas Piggin 2020-08-26 14:33 ` [OpenRISC] " Nicholas Piggin 2020-07-28 3:33 ` [PATCH 15/24] parisc: " Nicholas Piggin 2020-07-28 3:33 ` [PATCH 16/24] powerpc: " Nicholas Piggin 2020-07-28 3:33 ` Nicholas Piggin 2020-07-28 3:33 ` [PATCH 17/24] riscv: " Nicholas Piggin 2020-07-28 3:33 ` Nicholas Piggin 2020-07-30 21:20 ` Palmer Dabbelt 2020-07-30 21:20 ` Palmer Dabbelt 2020-07-30 21:20 ` Palmer Dabbelt 2020-07-28 3:33 ` [PATCH 18/24] s390: " Nicholas Piggin 2020-07-28 3:34 ` [PATCH 19/24] sh: " Nicholas Piggin 2020-07-28 3:34 ` Nicholas Piggin 2020-07-28 3:34 ` [PATCH 20/24] sparc: " Nicholas Piggin 2020-07-28 3:34 ` Nicholas Piggin 2020-07-28 3:34 ` [PATCH 21/24] um: " Nicholas Piggin 2020-07-28 3:34 ` Nicholas Piggin 2020-07-28 3:34 ` [PATCH 22/24] unicore32: " Nicholas Piggin 2020-07-28 3:34 ` [PATCH 23/24] x86: " Nicholas Piggin 2020-07-28 10:54 ` peterz 2020-07-28 3:34 ` [PATCH 24/24] xtensa: " Nicholas Piggin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200728033405.78469-4-npiggin@gmail.com \ --to=npiggin@gmail.com \ --cc=arnd@arndb.de \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-snps-arc@lists.infradead.org \ --cc=vgupta@synopsys.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.