[PATCH v2 0/3] mm, swap: Enable THP SWAP for PowerPC Book3S64
From: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Date: 2026-06-11 09:48:08
Also in:
linux-mm, lkml
On PowerPC Book3S64, MMU is selected at runtime, so macros like PMD_SHIFT are effectively runtime variables in the Book3S64 code. THP swap code uses these macros for e.g. to size some of its array data structures based on PMD_ORDER. This patch series makes that usage dependent on the runtime variable and provides an upper-bound architecture override for cases (e.g. SWAP_NR_ORDERS), where the runtime conversion is not considered beneficial. This series increases bandwidth throughput with zram backend for swapout by around 40-50% with Radix and 100-130% with Hash (Tested by Sayali) Note that this patch series is based out of linux-next (next-20260608). RFC -> v2: ========== 1. Send the unused leftovers change in swap.h separately [1] 2. Changed RFC Patch-3 design from runtime SWAP_NR_ORDERS to arch override (ARCH_MAX_PMD_ORDER) - suggested by Youngjun 3. Dropped RFC tag [1]: https://lore.kernel.org/linux-mm/68591daf0d679e5a0072d63751f187d14613e2b0.1781146877.git.ritesh.list@gmail.com/ (local) [RFC]: https://lore.kernel.org/linux-mm/cover.1781000840.git.ritesh.list@gmail.com/ (local) Ritesh Harjani (IBM) (3): mm, swap: make SWAPFILE_CLUSTER runtime mm, swap: allow archs to override SWAP_NR_ORDERS via ARCH_MAX_PMD_ORDER powerpc: Kconfig: Enable THP_SWAP on Book3S64 arch/powerpc/include/asm/book3s/64/pgtable.h | 7 +++++ arch/powerpc/platforms/Kconfig.cputype | 1 + include/linux/swap.h | 12 ++++++++- mm/swap.h | 5 ++-- mm/swap_table.h | 6 ++--- mm/swapfile.c | 27 ++++++++++++++++---- 6 files changed, 46 insertions(+), 12 deletions(-) -- 2.39.5