* Re: [PATCH v2 2/3] mm/swap: use swap_ops to register swap device's methods
[not found] <20260328075812.11060-3-21cnbao@gmail.com>
@ 2026-03-29 10:49 ` kernel test robot
2026-03-29 11:44 ` Barry Song
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2026-03-29 10:49 UTC (permalink / raw)
To: Barry Song, akpm, linux-mm
Cc: llvm, oe-kbuild-all, bhe, baohua, chrisl, kasong, nphamcs,
shikemeng, youngjun.park, linux-kernel
Hi Barry,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
url: https://github.com/intel-lab-lkp/linux/commits/Barry-Song/mm-swap-rename-mm-page_io-c-to-mm-swap_io-c/20260328-170852
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20260328075812.11060-3-21cnbao%40gmail.com
patch subject: [PATCH v2 2/3] mm/swap: use swap_ops to register swap device's methods
config: arm-randconfig-001-20260329 (https://download.01.org/0day-ci/archive/20260329/202603291844.TWh2Ellp-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 054e11d1a17e5ba88bb1a8ef32fad3346e80b186)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260329/202603291844.TWh2Ellp-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/202603291844.TWh2Ellp-lkp@intel.com/
All errors (new ones prefixed by >>):
>> mm/zswap.c:1057:19: error: use of undeclared identifier 'sis'; did you mean 'si'?
1057 | VM_WARN_ON_ONCE(!sis->ops || !sis->ops->write_folio);
| ^~~
| si
include/linux/mmdebug.h:133:52: note: expanded from macro 'VM_WARN_ON_ONCE'
133 | #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
| ^~~~
include/linux/build_bug.h:30:63: note: expanded from macro 'BUILD_BUG_ON_INVALID'
30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
| ^
mm/zswap.c:995:27: note: 'si' declared here
995 | struct swap_info_struct *si;
| ^
mm/zswap.c:1057:32: error: use of undeclared identifier 'sis'; did you mean 'si'?
1057 | VM_WARN_ON_ONCE(!sis->ops || !sis->ops->write_folio);
| ^~~
| si
include/linux/mmdebug.h:133:52: note: expanded from macro 'VM_WARN_ON_ONCE'
133 | #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
| ^~~~
include/linux/build_bug.h:30:63: note: expanded from macro 'BUILD_BUG_ON_INVALID'
30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
| ^
mm/zswap.c:995:27: note: 'si' declared here
995 | struct swap_info_struct *si;
| ^
2 errors generated.
vim +1057 mm/zswap.c
971
972 /*********************************
973 * writeback code
974 **********************************/
975 /*
976 * Attempts to free an entry by adding a folio to the swap cache,
977 * decompressing the entry data into the folio, and issuing a
978 * bio write to write the folio back to the swap device.
979 *
980 * This can be thought of as a "resumed writeback" of the folio
981 * to the swap device. We are basically resuming the same swap
982 * writeback path that was intercepted with the zswap_store()
983 * in the first place. After the folio has been decompressed into
984 * the swap cache, the compressed version stored by zswap can be
985 * freed.
986 */
987 static int zswap_writeback_entry(struct zswap_entry *entry,
988 swp_entry_t swpentry)
989 {
990 struct xarray *tree;
991 pgoff_t offset = swp_offset(swpentry);
992 struct folio *folio;
993 struct mempolicy *mpol;
994 bool folio_was_allocated;
995 struct swap_info_struct *si;
996 int ret = 0;
997
998 /* try to allocate swap cache folio */
999 si = get_swap_device(swpentry);
1000 if (!si)
1001 return -EEXIST;
1002
1003 mpol = get_task_policy(current);
1004 folio = swap_cache_alloc_folio(swpentry, GFP_KERNEL, mpol,
1005 NO_INTERLEAVE_INDEX, &folio_was_allocated);
1006 put_swap_device(si);
1007 if (!folio)
1008 return -ENOMEM;
1009
1010 /*
1011 * Found an existing folio, we raced with swapin or concurrent
1012 * shrinker. We generally writeback cold folios from zswap, and
1013 * swapin means the folio just became hot, so skip this folio.
1014 * For unlikely concurrent shrinker case, it will be unlinked
1015 * and freed when invalidated by the concurrent shrinker anyway.
1016 */
1017 if (!folio_was_allocated) {
1018 ret = -EEXIST;
1019 goto out;
1020 }
1021
1022 /*
1023 * folio is locked, and the swapcache is now secured against
1024 * concurrent swapping to and from the slot, and concurrent
1025 * swapoff so we can safely dereference the zswap tree here.
1026 * Verify that the swap entry hasn't been invalidated and recycled
1027 * behind our backs, to avoid overwriting a new swap folio with
1028 * old compressed data. Only when this is successful can the entry
1029 * be dereferenced.
1030 */
1031 tree = swap_zswap_tree(swpentry);
1032 if (entry != xa_load(tree, offset)) {
1033 ret = -ENOMEM;
1034 goto out;
1035 }
1036
1037 if (!zswap_decompress(entry, folio)) {
1038 ret = -EIO;
1039 goto out;
1040 }
1041
1042 xa_erase(tree, offset);
1043
1044 count_vm_event(ZSWPWB);
1045 if (entry->objcg)
1046 count_objcg_events(entry->objcg, ZSWPWB, 1);
1047
1048 zswap_entry_free(entry);
1049
1050 /* folio is up to date */
1051 folio_mark_uptodate(folio);
1052
1053 /* move it to the tail of the inactive list after end_writeback */
1054 folio_set_reclaim(folio);
1055
1056 /* start writeback */
> 1057 VM_WARN_ON_ONCE(!sis->ops || !sis->ops->write_folio);
1058 si->ops->write_folio(si, folio, NULL);
1059
1060 out:
1061 if (ret && ret != -EEXIST) {
1062 swap_cache_del_folio(folio);
1063 folio_unlock(folio);
1064 }
1065 folio_put(folio);
1066 return ret;
1067 }
1068
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2 2/3] mm/swap: use swap_ops to register swap device's methods
2026-03-29 10:49 ` [PATCH v2 2/3] mm/swap: use swap_ops to register swap device's methods kernel test robot
@ 2026-03-29 11:44 ` Barry Song
0 siblings, 0 replies; 2+ messages in thread
From: Barry Song @ 2026-03-29 11:44 UTC (permalink / raw)
To: lkp
Cc: 21cnbao, akpm, baohua, bhe, chrisl, kasong, linux-kernel,
linux-mm, llvm, nphamcs, oe-kbuild-all, shikemeng, youngjun.park
On Sun, Mar 29, 2026 at 6:49 PM kernel test robot <lkp@intel.com> wrote:
>
> Hi Barry,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on akpm-mm/mm-everything]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Barry-Song/mm-swap-rename-mm-page_io-c-to-mm-swap_io-c/20260328-170852
> base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
> patch link: https://lore.kernel.org/r/20260328075812.11060-3-21cnbao%40gmail.com
> patch subject: [PATCH v2 2/3] mm/swap: use swap_ops to register swap device's methods
> config: arm-randconfig-001-20260329 (https://download.01.org/0day-ci/archive/20260329/202603291844.TWh2Ellp-lkp@intel.com/config)
> compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 054e11d1a17e5ba88bb1a8ef32fad3346e80b186)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260329/202603291844.TWh2Ellp-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/202603291844.TWh2Ellp-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> >> mm/zswap.c:1057:19: error: use of undeclared identifier 'sis'; did you mean 'si'?
> 1057 | VM_WARN_ON_ONCE(!sis->ops || !sis->ops->write_folio);
> | ^~~
> | si
> include/linux/mmdebug.h:133:52: note: expanded from macro 'VM_WARN_ON_ONCE'
> 133 | #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
> | ^~~~
> include/linux/build_bug.h:30:63: note: expanded from macro 'BUILD_BUG_ON_INVALID'
> 30 | #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
> | ^
> mm/zswap.c:995:27: note: 'si' declared here
> 995 | struct swap_info_struct *si;
> | ^
> mm/zswap.c:1057:32: error: use of undeclared identifier 'sis'; did you mean 'si'?
> 1057 | VM_WARN_ON_ONCE(!sis->ops || !sis->ops->write_folio);
> | ^~~
> | si
Deeply sorry for the last-minute edit—I fat-fingered it.
It should be si, not sis. My sincere apologies.
diff --git a/mm/zswap.c b/mm/zswap.c
index 9bacb1733e1c..b60821758169 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -1054,7 +1054,7 @@ static int zswap_writeback_entry(struct zswap_entry *entry,
folio_set_reclaim(folio);
/* start writeback */
- VM_WARN_ON_ONCE(!sis->ops || !sis->ops->write_folio);
+ VM_WARN_ON_ONCE(!si->ops || !si->ops->write_folio);
si->ops->write_folio(si, folio, NULL);
out:
--
Best Regards
Barry
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-03-29 11:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260328075812.11060-3-21cnbao@gmail.com>
2026-03-29 10:49 ` [PATCH v2 2/3] mm/swap: use swap_ops to register swap device's methods kernel test robot
2026-03-29 11:44 ` Barry Song
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox