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

Palmer Dabbelt palmer at dabbelt.com
Sun Jan 9 09:49:07 PST 2022


On Wed, 29 Dec 2021 22:45:57 PST (-0800), sunnanyong at huawei.com wrote:
> Hi Palmer,
>
> This patchset has been sent for one month ago, I was wondering if you could
>
> have a review and give a feedback please, thanks.

Sorry for being slow, the queue got long over the holidays and I'm still 
trying to dig out.  I was kind of worried about losing some bits, but I 
don't think it's actually that big of a deal -- it's not like there's 
really any user ABI here, aside from being able to use less swap.  If 
someone wants to fix that I'm all ears, but I don't think it's worth 
waiting.

This is on for-next.

Thanks!

> On 2021/11/23 22:06, Nanyong Sun wrote:
>> 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
>> contiguous.[1]
>>
>> 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:
>> https://github.com/x-y-z/thp-migration-bench
>>
>> I also have tested and passed the test cases under
>> tools/testing/selftests/vm.
>>
>> [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(-)
>>



More information about the linux-riscv mailing list