diff mbox series

[v3,4/4] mm: swap: Count successful mTHP ZSWAP stores in sysfs mTHP stats.

Message ID 20240817050921.18462-5-kanchana.p.sridhar@intel.com (mailing list archive)
State New
Headers show
Series mm: ZSWAP swap-out of mTHP folios | expand

Commit Message

Kanchana P Sridhar Aug. 17, 2024, 5:09 a.m. UTC
If zswap_store() successfully stores an mTHP, it will be
counted under the per-order sysfs "zswpout" stats:

/sys/kernel/mm/transparent_hugepage/hugepages-*kB/stats/zswpout

Other block dev/fs mTHP swap-out events will be counted under
the existing sysfs "swpout" stats:

/sys/kernel/mm/transparent_hugepage/hugepages-*kB/stats/swpout

Signed-off-by: Kanchana P Sridhar <kanchana.p.sridhar@intel.com>
---
 mm/page_io.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

kernel test robot Aug. 18, 2024, 12:03 a.m. UTC | #1
Hi Kanchana,

kernel test robot noticed the following build errors:

[auto build test ERROR on 7c626ce4bae1ac14f60076d00eafe71af30450ba]

url:    https://github.com/intel-lab-lkp/linux/commits/Kanchana-P-Sridhar/mm-zswap-zswap_is_folio_same_filled-takes-an-index-in-the-folio/20240817-131053
base:   7c626ce4bae1ac14f60076d00eafe71af30450ba
patch link:    https://lore.kernel.org/r/20240817050921.18462-5-kanchana.p.sridhar%40intel.com
patch subject: [PATCH v3 4/4] mm: swap: Count successful mTHP ZSWAP stores in sysfs mTHP stats.
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20240818/202408180729.M6uZh634-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240818/202408180729.M6uZh634-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408180729.M6uZh634-lkp@intel.com/

All errors (new ones prefixed by >>):

   mm/page_io.c: In function 'count_mthp_zswpout_vm_event':
>> mm/page_io.c:178:17: error: implicit declaration of function 'count_mthp_stat' [-Werror=implicit-function-declaration]
     178 |                 count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
         |                 ^~~~~~~~~~~~~~~
>> mm/page_io.c:178:53: error: 'MTHP_STAT_ZSWPOUT' undeclared (first use in this function)
     178 |                 count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
         |                                                     ^~~~~~~~~~~~~~~~~
   mm/page_io.c:178:53: note: each undeclared identifier is reported only once for each function it appears in
   cc1: some warnings being treated as errors


vim +/count_mthp_stat +178 mm/page_io.c

   174	
   175	static inline void count_mthp_zswpout_vm_event(struct folio *folio)
   176	{
   177		if (IS_ENABLED(CONFIG_THP_SWAP))
 > 178			count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
   179	}
   180
Barry Song Aug. 18, 2024, 7:46 a.m. UTC | #2
On Sun, Aug 18, 2024 at 12:04 PM kernel test robot <lkp@intel.com> wrote:
>
> Hi Kanchana,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on 7c626ce4bae1ac14f60076d00eafe71af30450ba]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Kanchana-P-Sridhar/mm-zswap-zswap_is_folio_same_filled-takes-an-index-in-the-folio/20240817-131053
> base:   7c626ce4bae1ac14f60076d00eafe71af30450ba
> patch link:    https://lore.kernel.org/r/20240817050921.18462-5-kanchana.p.sridhar%40intel.com
> patch subject: [PATCH v3 4/4] mm: swap: Count successful mTHP ZSWAP stores in sysfs mTHP stats.
> config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20240818/202408180729.M6uZh634-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240818/202408180729.M6uZh634-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202408180729.M6uZh634-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
>    mm/page_io.c: In function 'count_mthp_zswpout_vm_event':
> >> mm/page_io.c:178:17: error: implicit declaration of function 'count_mthp_stat' [-Werror=implicit-function-declaration]
>      178 |                 count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
>          |                 ^~~~~~~~~~~~~~~
> >> mm/page_io.c:178:53: error: 'MTHP_STAT_ZSWPOUT' undeclared (first use in this function)
>      178 |                 count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
>          |                                                     ^~~~~~~~~~~~~~~~~
>    mm/page_io.c:178:53: note: each undeclared identifier is reported only once for each function it appears in
>    cc1: some warnings being treated as errors

i believe this has been fixed by Ryan's latest cleanup
https://lore.kernel.org/all/20240808111849.651867-2-ryan.roberts@arm.com/

Kanchana, is your code on top of mm-unstable?

>
>
> vim +/count_mthp_stat +178 mm/page_io.c
>
>    174
>    175  static inline void count_mthp_zswpout_vm_event(struct folio *folio)
>    176  {
>    177          if (IS_ENABLED(CONFIG_THP_SWAP))
>  > 178                  count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
>    179  }
>    180
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
Kanchana P Sridhar Aug. 19, 2024, 2:15 a.m. UTC | #3
Hi Barry,

> -----Original Message-----
> From: Barry Song <21cnbao@gmail.com>
> Sent: Sunday, August 18, 2024 12:46 AM
> To: lkp <lkp@intel.com>
> Cc: Sridhar, Kanchana P <kanchana.p.sridhar@intel.com>; linux-
> kernel@vger.kernel.org; linux-mm@kvack.org; hannes@cmpxchg.org;
> yosryahmed@google.com; nphamcs@gmail.com; ryan.roberts@arm.com;
> Huang, Ying <ying.huang@intel.com>; akpm@linux-foundation.org; oe-kbuild-
> all@lists.linux.dev; Zou, Nanhai <nanhai.zou@intel.com>; Feghali, Wajdi K
> <wajdi.k.feghali@intel.com>; Gopal, Vinodh <vinodh.gopal@intel.com>
> Subject: Re: [PATCH v3 4/4] mm: swap: Count successful mTHP ZSWAP stores
> in sysfs mTHP stats.
> 
> On Sun, Aug 18, 2024 at 12:04 PM kernel test robot <lkp@intel.com> wrote:
> >
> > Hi Kanchana,
> >
> > kernel test robot noticed the following build errors:
> >
> > [auto build test ERROR on 7c626ce4bae1ac14f60076d00eafe71af30450ba]
> >
> > url:    https://github.com/intel-lab-lkp/linux/commits/Kanchana-P-
> Sridhar/mm-zswap-zswap_is_folio_same_filled-takes-an-index-in-the-
> folio/20240817-131053
> > base:   7c626ce4bae1ac14f60076d00eafe71af30450ba
> > patch link:    https://lore.kernel.org/r/20240817050921.18462-5-
> kanchana.p.sridhar%40intel.com
> > patch subject: [PATCH v3 4/4] mm: swap: Count successful mTHP ZSWAP
> stores in sysfs mTHP stats.
> > config: x86_64-defconfig (https://download.01.org/0day-
> ci/archive/20240818/202408180729.M6uZh634-lkp@intel.com/config)
> > compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-
> ci/archive/20240818/202408180729.M6uZh634-lkp@intel.com/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202408180729.M6uZh634-
> lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> >    mm/page_io.c: In function 'count_mthp_zswpout_vm_event':
> > >> mm/page_io.c:178:17: error: implicit declaration of function
> 'count_mthp_stat' [-Werror=implicit-function-declaration]
> >      178 |                 count_mthp_stat(folio_order(folio),
> MTHP_STAT_ZSWPOUT);
> >          |                 ^~~~~~~~~~~~~~~
> > >> mm/page_io.c:178:53: error: 'MTHP_STAT_ZSWPOUT' undeclared (first
> use in this function)
> >      178 |                 count_mthp_stat(folio_order(folio),
> MTHP_STAT_ZSWPOUT);
> >          |                                                     ^~~~~~~~~~~~~~~~~
> >    mm/page_io.c:178:53: note: each undeclared identifier is reported only
> once for each function it appears in
> >    cc1: some warnings being treated as errors
> 
> i believe this has been fixed by Ryan's latest cleanup
> https://lore.kernel.org/all/20240808111849.651867-2-
> ryan.roberts@arm.com/
> 
> Kanchana, is your code on top of mm-unstable?

Thanks very much for the pointer to Ryan's latest count_mthp_stat() cleanup patch!
I will submit my patches rebased to mm-unstable, and with changes aligned to
Ryan's patch. Hopefully this should resolve the kernel robot build errors. I believe
this was happening because in v3, I had made the call to count_mthp_stat() conditional
on ifdef CONFIG_THP_SWAP, whereas "enum mthp_stat_item" was defined based
on ifdef CONFIG_TRANSPARENT_HUGEPAGE (in v3).

Please do review the v4 and let me know if this looks good. Thanks again.

Thanks,
Kanchana

> 
> >
> >
> > vim +/count_mthp_stat +178 mm/page_io.c
> >
> >    174
> >    175  static inline void count_mthp_zswpout_vm_event(struct folio *folio)
> >    176  {
> >    177          if (IS_ENABLED(CONFIG_THP_SWAP))
> >  > 178                  count_mthp_stat(folio_order(folio),
> MTHP_STAT_ZSWPOUT);
> >    179  }
> >    180
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
diff mbox series

Patch

diff --git a/mm/page_io.c b/mm/page_io.c
index ff8c99ee3af7..debd04fbdfd0 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -172,6 +172,12 @@  int generic_swapfile_activate(struct swap_info_struct *sis,
 	goto out;
 }
 
+static inline void count_mthp_zswpout_vm_event(struct folio *folio)
+{
+	if (IS_ENABLED(CONFIG_THP_SWAP))
+		count_mthp_stat(folio_order(folio), MTHP_STAT_ZSWPOUT);
+}
+
 /*
  * We may have stale swap cache pages in memory: notice
  * them here and get rid of the unnecessary final write.
@@ -196,6 +202,7 @@  int swap_writepage(struct page *page, struct writeback_control *wbc)
 		return ret;
 	}
 	if (zswap_store(folio)) {
+		count_mthp_zswpout_vm_event(folio);
 		folio_unlock(folio);
 		return 0;
 	}