The patch titled Subject: mm: swap: remove unneeded cgroup_throttle_swaprate() has been added to the -mm mm-unstable branch. Its filename is mm-swap-remove-unneeded-cgroup_throttle_swaprate.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-swap-remove-unneeded-cgroup_throttle_swaprate.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Subject: mm: swap: remove unneeded cgroup_throttle_swaprate() Date: Thu, 12 Jan 2023 16:30:06 +0800 All the callers of cgroup_throttle_swaprate() are converted to folio_throttle_swaprate(), so make __cgroup_throttle_swaprate() to take a folio, and drop unused cgroup_throttle_swaprate(). Link: https://lkml.kernel.org/r/20230112083006.163393-8-wangkefeng.wang@xxxxxxxxxx Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/swap.h | 12 ++++-------- mm/swapfile.c | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) --- a/include/linux/swap.h~mm-swap-remove-unneeded-cgroup_throttle_swaprate +++ a/include/linux/swap.h @@ -641,22 +641,18 @@ extern atomic_t zswap_stored_pages; #endif #if defined(CONFIG_SWAP) && defined(CONFIG_MEMCG) && defined(CONFIG_BLK_CGROUP) -extern void __cgroup_throttle_swaprate(struct page *page, gfp_t gfp_mask); -static inline void cgroup_throttle_swaprate(struct page *page, gfp_t gfp_mask) +extern void __cgroup_throttle_swaprate(struct folio *folio, gfp_t gfp_mask); +static inline void folio_throttle_swaprate(struct folio *folio, gfp_t gfp_mask) { if (mem_cgroup_disabled()) return; - __cgroup_throttle_swaprate(page, gfp_mask); + __cgroup_throttle_swaprate(folio, gfp_mask); } #else -static inline void cgroup_throttle_swaprate(struct page *page, gfp_t gfp_mask) +static inline void folio_throttle_swaprate(struct folio *folio, gfp_t gfp_mask) { } #endif -static inline void folio_throttle_swaprate(struct folio *folio, gfp_t gfp) -{ - cgroup_throttle_swaprate(&folio->page, gfp); -} #if defined(CONFIG_MEMCG) && defined(CONFIG_SWAP) void mem_cgroup_swapout(struct folio *folio, swp_entry_t entry); --- a/mm/swapfile.c~mm-swap-remove-unneeded-cgroup_throttle_swaprate +++ a/mm/swapfile.c @@ -3636,10 +3636,10 @@ static void free_swap_count_continuation } #if defined(CONFIG_MEMCG) && defined(CONFIG_BLK_CGROUP) -void __cgroup_throttle_swaprate(struct page *page, gfp_t gfp_mask) +void __cgroup_throttle_swaprate(struct folio *folio, gfp_t gfp_mask) { struct swap_info_struct *si, *next; - int nid = page_to_nid(page); + int nid = folio_nid(folio); if (!(gfp_mask & __GFP_IO)) return; _ Patches currently in -mm which might be from wangkefeng.wang@xxxxxxxxxx are mm-hwposion-support-recovery-from-ksm_might_need_to_copy.patch mm-hwposion-support-recovery-from-ksm_might_need_to_copy-v3.patch mm-huge_memory-convert-madvise_free_huge_pmd-to-use-a-folio.patch mm-swap-convert-mark_page_lazyfree-to-folio_mark_lazyfree.patch mm-huge_memory-convert-split_huge_pages_all-to-use-a-folio.patch mm-page_idle-convert-page-idle-to-use-a-folio.patch mm-damon-introduce-damon_get_folio.patch mm-damon-convert-damon_ptep-pmdp_mkold-to-use-a-folio.patch mm-damon-paddr-convert-damon_pa_-to-use-a-folio.patch mm-damon-vaddr-convert-damon_young_pmd_entry-to-use-a-folio.patch mm-damon-remove-unneeded-damon_get_page.patch mm-damon-vaddr-convert-hugetlb-related-functions-to-use-a-folio.patch mm-madvise-use-vm_normal_folio-in-madvise_free_pte_range.patch mm-huge_memory-make-__do_huge_pmd_anonymous_page-to-take-a-folio.patch mm-memory-convert-do_anonymous_page-to-use-a-folio.patch mm-memory-convert-do_cow_fault-to-use-folios.patch mm-memory-convert-page_copy_prealloc-to-use-a-folio.patch mm-memory-convert-wp_page_copy-to-use-folios.patch mm-memory-use-folio_throttle_swaprate-in-do_swap_page.patch mm-swap-remove-unneeded-cgroup_throttle_swaprate.patch