From: Barry Song <v-songbaohua@xxxxxxxx> Batch free swap slots for zap_pte_range(), making munmap three times faster when the page table entries are filled with swap entries to be freed. This is likely another advantage of using mTHP. -v3: * collect David's acked-by for patch1/2 * further refine the code per David; * fix a corner case which might leak swap slots, thanks for Kairui's comment. -v2: https://lore.kernel.org/all/20240807082508.358322-1-21cnbao@xxxxxxxxx/ * cleanup the name of the instances of swap_info_struct, per Andrew, David; * refine the code to add fallback in the batch free function, Thanks for David's suggestion. -v1: https://lore.kernel.org/all/20240806012409.61962-1-21cnbao@xxxxxxxxx/ Barry Song (2): mm: rename instances of swap_info_struct to meaningful 'si' mm: attempt to batch free swap entries for zap_pte_range() mm/swapfile.c | 410 ++++++++++++++++++++++++++++---------------------- 1 file changed, 232 insertions(+), 178 deletions(-) -- 2.34.1