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(+)
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;
}
--
2.27.0
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
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
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
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
© 2016 - 2026 Red Hat, Inc.