On Sun, May 30, 2021 at 7:42 AM <palmerdabbelt@xxxxxxxxxx> wrote: > > On Tue, 25 May 2021 22:49:20 PDT (-0700), guoren@xxxxxxxxxx wrote: > > From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx> > > > > Kernel virtual address translation should avoid to use ASIDs or it'll > > cause more TLB-miss and TLB-refill. Because the current ASID in satp > > belongs to the current process, but the target kernel va TLB entry's > > ASID still belongs to the previous process. > > Sorry, I still can't quite figure out what this is trying to say. I > went ahead and re-wrote the commit text to > > riscv: Use global mappings for kernel pages > > We map kernel pages into all addresses spages, so they can be marked as > global. This allows hardware to avoid flushing the kernel mappings when > moving between address spaces. Okay > > LMK if I'm misunderstanding something here, it's on for-next. > > > > > Signed-off-by: Guo Ren <guoren@xxxxxxxxxxxxxxxxx> > > Reviewed-by: Anup Patel <anup@xxxxxxxxxxxxxx> > > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > > Cc: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> > > --- > > arch/riscv/include/asm/pgtable.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h > > index 9469f46..346a3c6 100644 > > --- a/arch/riscv/include/asm/pgtable.h > > +++ b/arch/riscv/include/asm/pgtable.h > > @@ -134,7 +134,8 @@ > > | _PAGE_WRITE \ > > | _PAGE_PRESENT \ > > | _PAGE_ACCESSED \ > > - | _PAGE_DIRTY) > > + | _PAGE_DIRTY \ > > + | _PAGE_GLOBAL) > > > > #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) > > #define PAGE_KERNEL_READ __pgprot(_PAGE_KERNEL & ~_PAGE_WRITE) -- Best Regards Guo Ren ML: https://lore.kernel.org/linux-csky/