[PATCH v12 0/3] riscv, mm: detect svnapot cpu support at runtime
Qinglin Pan
panqinglin2020 at iscas.ac.cn
Thu Feb 9 00:03:01 PST 2023
Hey!
On 2023/2/9 15:30, Conor Dooley wrote:
> Hey!
>
> On Thu, Feb 09, 2023 at 12:00:32PM +0800, Qinglin Pan wrote:
>> Hi all,
>>
>> Sorry for bothering :(
>>
>> This patchset has a bit of a formatting problem.
>> Please use another one:
>> https://lore.kernel.org/linux-riscv/20230209035343.15282-1-panqinglin00@gmail.com/T/#t
>
> If you're resending, please either mark as RESEND or increment the
> version number so that tools don't get confused.
> In this case though, tools found some issues with both version
> unfortunately:
> https://patchwork.kernel.org/project/linux-riscv/patch/20230209035343.15282-2-panqinglin00@gmail.com/
> https://patchwork.kernel.org/project/linux-riscv/patch/20230209035343.15282-3-panqinglin00@gmail.com/
> (if you click on the descriptions you should get more information on
> what is wrong)
>
> You can fix those up and send a v13 and it'll all be clear then ;)
Your information is very helpful, thanks so much!
I will send a v13 later. But I am very curious about why
conchuod/alphanumeric_selects is failed and what content is in
this test? Could you please give me some hints about it? ;)
Regards,
Qinglin.
>
> Cheers,
> Conor.
>
>>
>> Thanks,
>> Qinglin
>>
>> On 2023/2/9 11:13, Qinglin Pan wrote:
>>>
>>> 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
>>> Changes in v8:
>>> - fix compilation errors in rv32_defconfig
>>> - insert some lines of whitespace according to @Conor's suggestion
>>> Changes in v9:
>>> - use alternative to avoid using static branches inside heavily used
>>> inline functions
>>> - change napot_cont_mask definition
>>> - post test_vmalloc modification about testing vmalloc_huge
>>> Changes in v10:
>>> - fix some nits caught by @Andrew
>>> - collect Reviewed-by/Acked-by
>>> - add memory leak warning in KConfig text
>>> - replace test_vmalloc patch link with the standard one
>>> Changes in v11:
>>> - add more detailed warning about HUGETLBFS and SVNAPOT in KConfig text
>>> - fix missing reverse-xmas tree
>>> Changes in v12:
>>> - rebase on the new ISA extension API [1]
>>>
>>> [1]https://lore.kernel.org/all/20230128172856.3814-5-jszhang@kernel.org/
>>>
>>> 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 | 21 +-
>>> arch/riscv/include/asm/hugetlb.h | 34 +++-
>>> arch/riscv/include/asm/hwcap.h | 9 +-
>>> arch/riscv/include/asm/page.h | 5 -
>>> arch/riscv/include/asm/pgtable-64.h | 34 ++++
>>> arch/riscv/include/asm/pgtable.h | 39 +++-
>>> arch/riscv/include/asm/vmalloc.h | 61 +++++-
>>> arch/riscv/kernel/cpu.c | 1 +
>>> arch/riscv/kernel/cpufeature.c | 1 +
>>> arch/riscv/mm/hugetlbpage.c | 301 ++++++++++++++++++++++++++++
>>> 10 files changed, 493 insertions(+), 13 deletions(-)
>>>
>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
More information about the linux-riscv
mailing list