khugepaged: optimize __collapse_huge_page_copy_succeeded() by PTE batching
authorDev Jain <dev.jain@arm.com>
Thu, 24 Jul 2025 05:23:00 +0000 (10:53 +0530)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 2 Aug 2025 19:06:10 +0000 (12:06 -0700)
commit4ea3594a47412f9dd20fbda0dc70b0cbec9cba43
treefb3fb9cf6ef0484675f4ce7e755743ff62477df5
parent3dfde97800e06882960cc926d2c428f2128b7c70
khugepaged: optimize __collapse_huge_page_copy_succeeded() by PTE batching

Use PTE batching to batch process PTEs mapping the same large folio. An
improvement is expected due to batching refcount-mapcount manipulation on
the folios, and for arm64 which supports contig mappings, the number of
TLB flushes is also reduced.

Link: https://lkml.kernel.org/r/20250724052301.23844-3-dev.jain@arm.com
Signed-off-by: Dev Jain <dev.jain@arm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Barry Song <baohua@kernel.org>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Mariano Pache <npache@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/khugepaged.c