Skip to content

Commit 136fac0

Browse files
chenhuacaiopsiff
authored andcommitted
LoongArch: Select THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
THP_SWAP has been proven to improve the swap throughput significantly on x86_64 system according to commit bd4c82c ("mm, THP, swap: delay splitting THP after swapped out"), on ARM64 system according to commit d0637c5 ("arm64: enable THP_SWAP for arm64") and on RISC-V system according to commit 87f81e6 ("riscv: enable THP_SWAP for RV64"). Enable THP_SWAP for LoongArch, testing the micro-benchmark which is introduced by commit d0637c5 ("arm64: enable THP_SWAP for arm64") shows below numbers on the Loongson-3A5000 board: swp out bandwidth w/o patch: 1815716 bytes/ms (mean of 10 tests) swp out bandwidth w/ patch: 3410003 bytes/ms (mean of 10 tests) Improved by 46.75%! Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> [Tested in 3A6000,seem not improved, but improved in 3C5000] Before: for((i=10;i>=1;i--)); do ./a.out; done; swp out bandwidth: 3153612 bytes/ms swp out bandwidth: 3153612 bytes/ms swp out bandwidth: 3153612 bytes/ms swp out bandwidth: 3106891 bytes/ms swp out bandwidth: 3153612 bytes/ms swp out bandwidth: 3153612 bytes/ms swp out bandwidth: 3153612 bytes/ms swp out bandwidth: 3084047 bytes/ms swp out bandwidth: 3647220 bytes/ms swp out bandwidth: 3647220 bytes/ms After: swp out bandwidth: 1997287 bytes/ms swp out bandwidth: 3017484 bytes/ms swp out bandwidth: 9118052 bytes/ms swp out bandwidth: 10485760 bytes/ms swp out bandwidth: 10754625 bytes/ms swp out bandwidth: 9320675 bytes/ms swp out bandwidth: 10485760 bytes/ms swp out bandwidth: 10485760 bytes/ms swp out bandwidth: 10754625 bytes/ms swp out bandwidth: 9118052 bytes/ms (cherry picked from commit ff4a244) Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
1 parent fc17140 commit 136fac0

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

arch/loongarch/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ config LOONGARCH
7272
select ARCH_WANT_LD_ORPHAN_WARN
7373
select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
7474
select ARCH_WANTS_NO_INSTR
75+
select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
7576
select BUILDTIME_TABLE_SORT
7677
select COMMON_CLK
7778
select CPU_PM

0 commit comments

Comments
 (0)