All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/3] riscv, mm: detect svnapot cpu support at runtime
@ 2022-11-19 11:22 panqinglin2020
  2022-11-19 11:22 ` [PATCH v7 1/3] riscv: mm: modify pte format for Svnapot panqinglin2020
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: panqinglin2020 @ 2022-11-19 11:22 UTC (permalink / raw)
  To: palmer, linux-riscv; +Cc: jeff, xuyinan, conor, ajones, Qinglin Pan

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 hugetlb fs and huge vmap.

This patchset adds a Kconfig item for using Svnapot in
"Platform type"->"SVNAPOT extension support". Its default value is on,
and people can set it off if they don't 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
Changes in v7:
  - add napot_cont_order for possible more napot order in the future
  - remove linear mapping related code from this patchset to another patch
  - refactor hugetlb code for svnapot according to thanks @Andrew @Conor
  - use tools/testing/selftests/vm/map_hugetlb as hugetlb testing program
  - support svnapot in huge vmap on newer for-next branch


Qinglin Pan (3):
  riscv: mm: modify pte format for Svnapot
  riscv: mm: support Svnapot in hugetlb page
  riscv: mm: support Svnapot in huge vmap

 arch/riscv/Kconfig                  |  16 +-
 arch/riscv/include/asm/hugetlb.h    |  34 +++-
 arch/riscv/include/asm/hwcap.h      |   4 +
 arch/riscv/include/asm/page.h       |   5 -
 arch/riscv/include/asm/pgtable-64.h |  34 ++++
 arch/riscv/include/asm/pgtable.h    |  32 +++-
 arch/riscv/include/asm/vmalloc.h    |  61 +++++-
 arch/riscv/kernel/cpu.c             |   1 +
 arch/riscv/kernel/cpufeature.c      |   1 +
 arch/riscv/mm/hugetlbpage.c         | 278 +++++++++++++++++++++++++++-
 10 files changed, 456 insertions(+), 10 deletions(-)

-- 
2.37.4


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-11-26  3:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-19 11:22 [PATCH v7 0/3] riscv, mm: detect svnapot cpu support at runtime panqinglin2020
2022-11-19 11:22 ` [PATCH v7 1/3] riscv: mm: modify pte format for Svnapot panqinglin2020
2022-11-19 18:18   ` Conor Dooley
2022-11-20  2:45     ` Qinglin Pan
2022-11-25 14:21   ` Alexandre Ghiti
2022-11-26  2:31     ` Qinglin Pan
2022-11-19 11:22 ` [PATCH v7 2/3] riscv: mm: support Svnapot in hugetlb page panqinglin2020
2022-11-19 18:28   ` Conor Dooley
2022-11-20  2:48     ` Qinglin Pan
2022-11-25 14:23   ` Alexandre Ghiti
2022-11-26  3:04     ` Qinglin Pan
2022-11-19 11:22 ` [PATCH v7 3/3] riscv: mm: support Svnapot in huge vmap panqinglin2020

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.