Message ID | 20230112083006.163393-8-wangkefeng.wang@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm: remove cgroup_throttle_swaprate() completely | expand |
On Thu, Jan 12, 2023 at 04:30:06PM +0800, Kefeng Wang wrote: > 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(). Shouldn't __cgroup_throttle_swaprate() then be called __folio_throttle_swaprate()? > +extern void __cgroup_throttle_swaprate(struct folio *folio, gfp_t gfp_mask); Also you can drop the 'extern'. > +static inline void folio_throttle_swaprate(struct folio *folio, gfp_t gfp_mask) And it's not a gfp mask. It's gfp_flags (we have this mistake all through the mm). Or you can just call it 'gfp'.
Hi Matthew, On 2023/1/13 23:50, Matthew Wilcox wrote: > On Thu, Jan 12, 2023 at 04:30:06PM +0800, Kefeng Wang wrote: >> 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(). > > Shouldn't __cgroup_throttle_swaprate() then be called > __folio_throttle_swaprate()? Sure. > >> +extern void __cgroup_throttle_swaprate(struct folio *folio, gfp_t gfp_mask); > > Also you can drop the 'extern'. Ok. > >> +static inline void folio_throttle_swaprate(struct folio *folio, gfp_t gfp_mask) > > And it's not a gfp mask. It's gfp_flags (we have this mistake all > through the mm). Or you can just call it 'gfp'. > > Thanks for your kindly review and advise, will update.
diff --git a/include/linux/swap.h b/include/linux/swap.h index 209a425739a9..2674408e6d63 100644 --- a/include/linux/swap.h +++ b/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); diff --git a/mm/swapfile.c b/mm/swapfile.c index a5729273480e..3abf514c3f28 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -3636,10 +3636,10 @@ static void free_swap_count_continuations(struct swap_info_struct *si) } #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;
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(). Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> --- include/linux/swap.h | 12 ++++-------- mm/swapfile.c | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-)