[Deepin-Kernel-SIG] [linux 6.6.y] [Upstream] LoongArch: Select THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE#1709
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideEnables THP_SWAP support for the LoongArch architecture by updating its Kconfig to select THP_SWAP when transparent huge pages are supported, aligning LoongArch with other architectures that already benefit from THP-based swap performance improvements. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
2a136f2 to
1f2dad1
Compare
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The PR description still contains a placeholder note (
[Tested in 3A6000,seem not improved, but XXX% improved in 3C5000]); please replaceXXX%with actual data or remove this bracketed note before merging. - When selecting
THP_SWAPinarch/loongarch/Kconfig, ensure it is gated under the same conditions (e.g., 64-bit /HAVE_ARCH_TRANSPARENT_HUGEPAGEconstraints) as other architectures so it cannot be enabled in unsupported LoongArch configurations.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The PR description still contains a placeholder note (`[Tested in 3A6000,seem not improved, but XXX% improved in 3C5000]`); please replace `XXX%` with actual data or remove this bracketed note before merging.
- When selecting `THP_SWAP` in `arch/loongarch/Kconfig`, ensure it is gated under the same conditions (e.g., 64-bit / `HAVE_ARCH_TRANSPARENT_HUGEPAGE` constraints) as other architectures so it cannot be enabled in unsupported LoongArch configurations.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Pull request overview
This PR enables THP swap support for LoongArch when transparent huge pages are supported, aligning LoongArch with other architectures that opt into ARCH_WANTS_THP_SWAP.
Changes:
- Selects
ARCH_WANTS_THP_SWAPfromarch/loongarch/KconfigwhenHAVE_ARCH_TRANSPARENT_HUGEPAGEis available.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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>
1f2dad1 to
38f3998
Compare
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%!
[Tested in 3A6000,seem not improved, but XXX% improved in 3C5000]
Summary by Sourcery
New Features: