Message ID | 20221005112926.3043280-1-panqinglin2020@iscas.ac.cn (mailing list archive) |
---|---|
Headers | show |
Series | riscv, mm: detect svnapot cpu support at runtime | expand |
Hi Qinglin, Please give more time between postings. v5 is barely 48 hours old and I haven't even looked at half its patches yet. Thanks, drew On Wed, Oct 05, 2022 at 07:29:22PM +0800, panqinglin2020@iscas.ac.cn wrote: > From: Qinglin Pan <panqinglin2020@iscas.ac.cn> > > Svnapot is a RISC-V extension for marking contiguous 4K pages as a non-4K > page. This patch set is for using Svnapot in Linux Kernel's boot process > and hugetlb fs. > > This patchset adds a Kconfig item for using Svnapot in > "Platform type"->"SVNAPOT extension support". Its default value is off, > and people can set it on if they allow kernel to detect Svnapot hardware > support and leverage it. > > Tested on: > - qemu rv64 with "Svnapot support" off and svnapot=true. > - qemu rv64 with "Svnapot support" on and svnapot=true. > - qemu rv64 with "Svnapot support" off and svnapot=false. > - qemu rv64 with "Svnapot support" on and svnapot=false. > > > Changes in v2: > - detect Svnapot hardware support at boot time. > Changes in v3: > - do linear mapping again if has_svnapot > Changes in v4: > - fix some errors/warns reported by checkpatch.pl, thanks @Conor > Changes in v5: > - modify code according to @Conor and @Heiko > Changes in v6: > - use static key insead of alternative errata > > > Qinglin Pan (4): > riscv: mm: modify pte format for Svnapot > riscv: mm: support Svnapot in physical page linear-mapping > riscv: mm: support Svnapot in hugetlb page > riscv: mm: support Svnapot in huge vmap > > arch/riscv/Kconfig | 17 +- > arch/riscv/include/asm/hugetlb.h | 37 +++- > arch/riscv/include/asm/hwcap.h | 4 + > arch/riscv/include/asm/page.h | 2 +- > arch/riscv/include/asm/pgtable-64.h | 13 ++ > arch/riscv/include/asm/pgtable.h | 69 +++++++- > arch/riscv/include/asm/vmalloc.h | 28 ++++ > arch/riscv/kernel/cpu.c | 1 + > arch/riscv/kernel/cpufeature.c | 1 + > arch/riscv/mm/hugetlbpage.c | 250 +++++++++++++++++++++++++++- > arch/riscv/mm/init.c | 30 +++- > 11 files changed, 440 insertions(+), 12 deletions(-) > > -- > 2.35.1 >
On Wed, Oct 05, 2022 at 03:29:30PM +0200, Andrew Jones wrote: > Hi Qinglin, > > Please give more time between postings. v5 is barely 48 hours old and I > haven't even looked at half its patches yet. Aye, please wait until at least after the merge window to send another version with Drew's comments addressed. Hard to tell if this v6 has resolved his comments on v5 or not. I assume it hasn't given the changelog in the cover only has a single comment? > > Thanks, > drew > > > On Wed, Oct 05, 2022 at 07:29:22PM +0800, panqinglin2020@iscas.ac.cn wrote: > > From: Qinglin Pan <panqinglin2020@iscas.ac.cn> > > > > Svnapot is a RISC-V extension for marking contiguous 4K pages as a non-4K > > page. This patch set is for using Svnapot in Linux Kernel's boot process > > and hugetlb fs. > > > > This patchset adds a Kconfig item for using Svnapot in > > "Platform type"->"SVNAPOT extension support". Its default value is off, > > and people can set it on if they allow kernel to detect Svnapot hardware > > support and leverage it. > > > > Tested on: > > - qemu rv64 with "Svnapot support" off and svnapot=true. > > - qemu rv64 with "Svnapot support" on and svnapot=true. > > - qemu rv64 with "Svnapot support" off and svnapot=false. > > - qemu rv64 with "Svnapot support" on and svnapot=false. > > > > > > Changes in v2: > > - detect Svnapot hardware support at boot time. > > Changes in v3: > > - do linear mapping again if has_svnapot > > Changes in v4: > > - fix some errors/warns reported by checkpatch.pl, thanks @Conor > > Changes in v5: > > - modify code according to @Conor and @Heiko > > Changes in v6: > > - use static key insead of alternative errata > > > > > > Qinglin Pan (4): > > riscv: mm: modify pte format for Svnapot > > riscv: mm: support Svnapot in physical page linear-mapping > > riscv: mm: support Svnapot in hugetlb page > > riscv: mm: support Svnapot in huge vmap > > > > arch/riscv/Kconfig | 17 +- > > arch/riscv/include/asm/hugetlb.h | 37 +++- > > arch/riscv/include/asm/hwcap.h | 4 + > > arch/riscv/include/asm/page.h | 2 +- > > arch/riscv/include/asm/pgtable-64.h | 13 ++ > > arch/riscv/include/asm/pgtable.h | 69 +++++++- > > arch/riscv/include/asm/vmalloc.h | 28 ++++ > > arch/riscv/kernel/cpu.c | 1 + > > arch/riscv/kernel/cpufeature.c | 1 + > > arch/riscv/mm/hugetlbpage.c | 250 +++++++++++++++++++++++++++- > > arch/riscv/mm/init.c | 30 +++- > > 11 files changed, 440 insertions(+), 12 deletions(-) > > > > -- > > 2.35.1 > > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
From: Qinglin Pan <panqinglin2020@iscas.ac.cn> Svnapot is a RISC-V extension for marking contiguous 4K pages as a non-4K page. This patch set is for using Svnapot in Linux Kernel's boot process and hugetlb fs. This patchset adds a Kconfig item for using Svnapot in "Platform type"->"SVNAPOT extension support". Its default value is off, and people can set it on if they allow kernel to detect Svnapot hardware support and leverage it. Tested on: - qemu rv64 with "Svnapot support" off and svnapot=true. - qemu rv64 with "Svnapot support" on and svnapot=true. - qemu rv64 with "Svnapot support" off and svnapot=false. - qemu rv64 with "Svnapot support" on and svnapot=false. Changes in v2: - detect Svnapot hardware support at boot time. Changes in v3: - do linear mapping again if has_svnapot Changes in v4: - fix some errors/warns reported by checkpatch.pl, thanks @Conor Changes in v5: - modify code according to @Conor and @Heiko Changes in v6: - use static key insead of alternative errata Qinglin Pan (4): riscv: mm: modify pte format for Svnapot riscv: mm: support Svnapot in physical page linear-mapping riscv: mm: support Svnapot in hugetlb page riscv: mm: support Svnapot in huge vmap arch/riscv/Kconfig | 17 +- arch/riscv/include/asm/hugetlb.h | 37 +++- arch/riscv/include/asm/hwcap.h | 4 + arch/riscv/include/asm/page.h | 2 +- arch/riscv/include/asm/pgtable-64.h | 13 ++ arch/riscv/include/asm/pgtable.h | 69 +++++++- arch/riscv/include/asm/vmalloc.h | 28 ++++ arch/riscv/kernel/cpu.c | 1 + arch/riscv/kernel/cpufeature.c | 1 + arch/riscv/mm/hugetlbpage.c | 250 +++++++++++++++++++++++++++- arch/riscv/mm/init.c | 30 +++- 11 files changed, 440 insertions(+), 12 deletions(-)