[PATCH -next 0/2] riscv/mm: Enable THP migration

From: Nanyong Sun
Date: Tue Nov 23 2021 - 08:30:31 EST

This series enables THP migration on riscv via ARCH_ENABLE_THP_MIGRATION.
But first this adjusts PAGE_PROT_NONE to satisfy generic memory semantics
like the behavior of pmd_present() and pmd_trans_huge() when in
THP splitting or migration.

This feature can reduce the time of THP migration by not splits THP
before migration and can guarantee the pages after migration are still

I have tested the below test case on qemu based on riscv after
enabling this feature, the throughput of THP migration gains 13x
performance improvement:

I also have tested and passed the test cases under

[1]: https://lwn.net/Articles/723764/

Nanyong Sun (2):
riscv/mm: Adjust PAGE_PROT_NONE to comply with THP semantics
riscv/mm: Enable THP migration

arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable-bits.h | 2 +-
arch/riscv/include/asm/pgtable.h | 16 +++++++++++-----
3 files changed, 13 insertions(+), 6 deletions(-)