Patch [1-21] is series "Rearrange batched folio freeing" and three bugfix.
Patch [22-26] is series "Clean up __folio_put()".
Patch [27] add trace of alloc_contig_migrate_range.
Patch [28-30] is three bugfix about hugetlb.
Patch [31] is an performance optimization of pcp draining.
Patch [32] is a minor improve of _deferred_list which benefit from debug.
This patch is from series "Various significant MM patches". Other patches
are not related to this patch, so don't backport together.
Patch "mm: Free up PG_slab" may also benefit for us, but have compile
problem need to fix, so not in this series.
Patch [33-36] is part of series "Improve anon_vma scalability for anon VMAs".
Patch "mm: Fix some minor per-VMA lock issues in userfaultfd" is not in
backport because it depends on patch "userfaultfd: use per-vma locks in
userfaultfd operations"
Patch [37] fix a bug introduced by patch "mm: turn folio_test_hugetlb into
a PageType" which is from the previous backport.
v1->v2: Add patch [37].
Liu Shixin (1):
mm/dynamic_pool: clear PG_hugetlb when demote hugepages
Lucas Stach (1):
mm: page_alloc: control latency caused by zone PCP draining
Matthew Wilcox (Oracle) (30):
mm: make folios_put() the basis of release_pages()
mm: convert free_unref_page_list() to use folios
mm: add free_unref_folios()
mm: use folios_put() in __folio_batch_release()
memcg: add mem_cgroup_uncharge_folios()
mm: remove use of folio list from folios_put()
mm: use free_unref_folios() in put_pages_list()
mm: use __page_cache_release() in folios_put()
mm: handle large folios in free_unref_folios()
mm: allow non-hugetlb large folios to be batch processed
mm: free folios in a batch in shrink_folio_list()
mm: free folios directly in move_folios_to_lru()
memcg: remove mem_cgroup_uncharge_list()
mm: remove free_unref_page_list()
mm: remove lru_to_page()
mm: convert free_pages_and_swap_cache() to use folios_put()
mm: use a folio in __collapse_huge_page_copy_succeeded()
mm: convert free_swap_cache() to take a folio
mm: remove folio from deferred split list before uncharging it
mm: fix list corruption in put_pages_list
mm: increase folio batch size
mm: free non-hugetlb large folios in a batch
mm: combine free_the_page() and free_unref_page()
mm: inline destroy_large_folio() into __folio_put_large()
mm: combine __folio_put_small, __folio_put_large and __folio_put
mm: convert free_zone_device_page to free_zone_device_folio
mm: always initialise folio->_deferred_list
mm: assert the mmap_lock is held in __anon_vma_prepare()
mm: delay the check for a NULL anon_vma
mm: optimise vmf_anon_prepare() for VMAs without an anon_vma
Miaohe Lin (1):
mm/hugetlb: fix DEBUG_LOCKS_WARN_ON(1) when
dissolve_free_hugetlb_folio()
Mike Kravetz (2):
hugetlb: set hugetlb page flag before optimizing vmemmap
hugetlb: check for hugetlb folio before vmemmap_restore
Richard Chang (1):
mm: add alloc_contig_migrate_range allocation statistics
Vishal Moola (Oracle) (1):
mm/memory: change vmf_anon_prepare() to be non-static
include/linux/memcontrol.h | 26 ++--
include/linux/mm.h | 19 +--
include/linux/pagevec.h | 4 +-
include/linux/swap.h | 8 +-
include/trace/events/kmem.h | 38 ++++++
mm/dynamic_pool.c | 1 +
mm/huge_memory.c | 8 +-
mm/hugetlb.c | 60 ++++++----
mm/hugetlb_vmemmap.c | 3 +
mm/internal.h | 12 +-
mm/khugepaged.c | 30 +++--
mm/memcontrol.c | 19 ++-
mm/memory.c | 46 +++++---
mm/memremap.c | 30 ++---
mm/mlock.c | 3 +-
mm/page_alloc.c | 169 ++++++++++++++------------
mm/page_isolation.c | 2 +-
mm/rmap.c | 3 +-
mm/swap.c | 230 +++++++++++++++++++-----------------
mm/swap_state.c | 31 +++--
mm/vmscan.c | 58 +++++----
21 files changed, 449 insertions(+), 351 deletions(-)
--
2.25.1