mm-extend-usage-parameter-so-that-cluster_swap_free_nr-can-be-reused.patch removed from -mm tree
The quilt patch titled
Subject: mm: extend 'usage' parameter so that cluster_swap_free_nr() can be reused
has been removed from the -mm tree. Its filename was
mm-extend-usage-parameter-so-that-cluster_swap_free_nr-can-be-reused.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: Barry Song <[email protected]>
Subject: mm: extend 'usage' parameter so that cluster_swap_free_nr() can be reused
Date: Wed, 24 Jul 2024 14:00:56 +1200
Extend a usage parameter so that cluster_swap_free_nr() can be reused by both swapcache_clear() and swap_free(). __swap_entry_free() is quite similar but more tricky as it requires the return value of __swap_entry_free_locked() which cluster_swap_free_nr() doesn't support.
---
mm/swapfile.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)
mm/swapfile.c renamed from mm/swapfile.c~mm-extend-usage-parameter-so-that-cluster_swap_free_nr-can-be-reused +5 -10
@@ -1344,7 +1344,8 @@ static void swap_entry_free(struct swap_ }static void cluster_swap_free_nr (struct swap_info_struct *sis, -unsigned long offset,int nr_pages) +unsigned long offset,int nr_pages, +unsigned char usage) {struct swap_cluster_info *ci; DECLARE_BITMAP(to_free, BITS_PER_LONG) = { 0 };
@@ -1354,7 +1355,7 @@ static void cluster_swap_free_nr(structwhile (nr_pages) { nr =min (BITS_PER_LONG , nr_pages);for (i =0 ; i < nr; i++) { -if (!__swap_entry_free_locked (sis, offset + i,1 )) +if (!__swap_entry_free_locked (sis, offset + i, usage))bitmap_set (to_free, i,1 ); }if (!bitmap_empty (to_free,BITS_PER_LONG )) {
@@ -1388,7 +1389,7 @@ void swap_free_nr(swp_entry_t entry, intwhile (nr_pages) { nr =min_t (int, nr_pages,SWAPFILE_CLUSTER - offset %SWAPFILE_CLUSTER ); -cluster_swap_free_nr (sis, offset, nr); +cluster_swap_free_nr (sis, offset, nr,1 ); offset += nr; nr_pages -= nr; }
@@ -3472,15 +3473,9 @@ int swapcache_prepare(swp_entry_t entry)void swapcache_clear (struct swap_info_struct *si,swp_entry_t entry) { -struct swap_cluster_info *ci;unsigned long offset =swp_offset (entry); -unsigned char usage; - ci =lock_cluster_or_swap_info (si, offset); - usage =__swap_entry_free_locked (si, offset,SWAP_HAS_CACHE ); -unlock_cluster_or_swap_info (si, ci); -if (!usage) -free_swap_slot (entry); +cluster_swap_free_nr (si, offset,1 ,SWAP_HAS_CACHE ); }struct swap_info_struct *swp_swap_info (swp_entry_t entry)
_
Patches currently in -mm which might be from [email protected] are
mm-rename-instances-of-swap_info_struct-to-meaningful-si.patch mm-attempt-to-batch-free-swap-entries-for-zap_pte_range.patch mm-attempt-to-batch-free-swap-entries-for-zap_pte_range-fix.patch mm-count-the-number-of-anonymous-thps-per-size.patch mm-count-the-number-of-partially-mapped-anonymous-thps-per-size.patch mm-add-nr-argument-in-mem_cgroup_swapin_uncharge_swap-helper-to-support-large-folios.patch mm-document-__gfp_nofail-must-be-blockable.patch mm-warn-about-illegal-__gfp_nofail-usage-in-a-more-appropriate-location-and-manner.patch