The quilt patch titled Subject: mm/swap: skip scanning cluster range if it's empty cluster has been removed from the -mm tree. Its filename was mm-swap-skip-scanning-cluster-range-if-its-empty-cluster.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Baoquan He <bhe@xxxxxxxxxx> Subject: mm/swap: skip scanning cluster range if it's empty cluster Date: Wed, 5 Feb 2025 17:27:13 +0800 Since ci->lock has been taken when isolating cluster from si->free_clusters or taking si->percpu_cluster->next[order], it's unnecessary to scan and check the cluster range availability if i'ts empty cluster, and this can accelerate the huge page swapping. Link: https://lkml.kernel.org/r/20250205092721.9395-5-bhe@xxxxxxxxxx Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Chris Li <chrisl@xxxxxxxxxx> Cc: Kairui Song <ryncsn@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/swapfile.c | 3 +++ 1 file changed, 3 insertions(+) --- a/mm/swapfile.c~mm-swap-skip-scanning-cluster-range-if-its-empty-cluster +++ a/mm/swapfile.c @@ -730,6 +730,9 @@ static bool cluster_scan_range(struct sw unsigned long offset, end = start + nr_pages; unsigned char *map = si->swap_map; + if (cluster_is_empty(ci)) + return true; + for (offset = start; offset < end; offset++) { switch (READ_ONCE(map[offset])) { case 0: _ Patches currently in -mm which might be from bhe@xxxxxxxxxx are