Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [baohua:dev/kairui_scanbalance 9/9] mm/vmscan.c:1953:6: warning: variable 'zone' set but not used
@ 2026-09-10  8:30 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-10  8:30 UTC (permalink / raw)
  To: Barry Song (Xiaomi); +Cc: oe-kbuild-all, linux-arm-kernel, barry.song

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux.git dev/kairui_scanbalance
head:   c96aacd4045a7a4c8d292e6c9ba6d169cdc0b570
commit: c96aacd4045a7a4c8d292e6c9ba6d169cdc0b570 [9/9] mm/mglru: avoid placing rejected folios below populated gen
config: arm64-randconfig-r072-20260910 (https://download.01.org/0day-ci/archive/20260910/202609101609.c4jRncpS-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 10.5.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260910/202609101609.c4jRncpS-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/202609101609.c4jRncpS-lkp@intel.com/

All warnings (new ones prefixed by >>):

   include/linux/compiler_types.h:702:2: note: in expansion of macro '_compiletime_assert'
     702 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |  ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
      36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
         |  ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
      36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
         |                     ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
      49 |  compiletime_assert_rwonce_type(x);    \
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/vmscan.c:1955:26: note: in expansion of macro 'READ_ONCE'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                          ^~~~~~~~~
   mm/vmscan.c:1955:44: error: 'struct lruvec' has no member named 'lrugen'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                                            ^~
   include/linux/compiler_types.h:682:9: note: in definition of macro '__compiletime_assert'
     682 |   if (!(condition))     \
         |         ^~~~~~~~~
   include/linux/compiler_types.h:702:2: note: in expansion of macro '_compiletime_assert'
     702 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |  ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
      36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
         |  ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
      36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
         |                     ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
      49 |  compiletime_assert_rwonce_type(x);    \
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/vmscan.c:1955:26: note: in expansion of macro 'READ_ONCE'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                          ^~~~~~~~~
   mm/vmscan.c:1955:44: error: 'struct lruvec' has no member named 'lrugen'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                                            ^~
   include/linux/compiler_types.h:682:9: note: in definition of macro '__compiletime_assert'
     682 |   if (!(condition))     \
         |         ^~~~~~~~~
   include/linux/compiler_types.h:702:2: note: in expansion of macro '_compiletime_assert'
     702 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |  ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
      36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
         |  ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
      49 |  compiletime_assert_rwonce_type(x);    \
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/vmscan.c:1955:26: note: in expansion of macro 'READ_ONCE'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                          ^~~~~~~~~
   In file included from <command-line>:
   mm/vmscan.c:1955:44: error: 'struct lruvec' has no member named 'lrugen'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                                            ^~
   include/linux/compiler_types.h:626:13: note: in definition of macro '__unqual_scalar_typeof'
     626 |   _Generic((x),      \
         |             ^
   include/asm-generic/rwonce.h:50:2: note: in expansion of macro '__READ_ONCE'
      50 |  __READ_ONCE(x);       \
         |  ^~~~~~~~~~~
   mm/vmscan.c:1955:26: note: in expansion of macro 'READ_ONCE'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                          ^~~~~~~~~
   In file included from arch/arm64/include/asm/rwonce.h:81,
                    from include/linux/compiler.h:369,
                    from include/asm-generic/bug.h:5,
                    from arch/arm64/include/asm/bug.h:26,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/mm.h:7,
                    from mm/vmscan.c:15:
   mm/vmscan.c:1955:44: error: 'struct lruvec' has no member named 'lrugen'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                                            ^~
   include/asm-generic/rwonce.h:44:72: note: in definition of macro '__READ_ONCE'
      44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
         |                                                                        ^
   mm/vmscan.c:1955:26: note: in expansion of macro 'READ_ONCE'
    1955 |  unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
         |                          ^~~~~~~~~
   mm/vmscan.c:1957:46: error: invalid use of undefined type 'struct lru_gen_folio'
    1957 |  if (folio_test_unevictable(folio) || !lrugen->enabled)
         |                                              ^~
   mm/vmscan.c:1960:8: error: implicit declaration of function 'lru_gen_folio_seq' [-Werror=implicit-function-declaration]
    1960 |  seq = lru_gen_folio_seq(lruvec, folio, false);
         |        ^~~~~~~~~~~~~~~~~
   mm/vmscan.c:1962:8: error: implicit declaration of function 'lru_gen_from_seq' [-Werror=implicit-function-declaration]
    1962 |  gen = lru_gen_from_seq(seq);
         |        ^~~~~~~~~~~~~~~~
   mm/vmscan.c:1967:2: error: implicit declaration of function 'lru_gen_update_size'; did you mean 'huge_page_size'? [-Werror=implicit-function-declaration]
    1967 |  lru_gen_update_size(lruvec, folio, -1, gen);
         |  ^~~~~~~~~~~~~~~~~~~
         |  huge_page_size
   mm/vmscan.c:1968:31: error: invalid use of undefined type 'struct lru_gen_folio'
    1968 |  list_add(&folio->lru, &lrugen->folios[gen][type][zone]);
         |                               ^~
>> mm/vmscan.c:1953:6: warning: variable 'zone' set but not used [-Wunused-but-set-variable]
    1953 |  int zone = folio_zonenum(folio);
         |      ^~~~
>> mm/vmscan.c:1952:6: warning: variable 'type' set but not used [-Wunused-but-set-variable]
    1952 |  int type = folio_is_file_lru(folio);
         |      ^~~~
   cc1: some warnings being treated as errors


vim +/zone +1953 mm/vmscan.c

  1938	
  1939	/*
  1940	 * Even though we have called folio_set_active() for rejected folios
  1941	 * in evict_folios(), they may still be demoted or placed in the last
  1942	 * populated generation since we can now scan all generations.
  1943	 * Make sure these folios are neither demoted nor placed in the last
  1944	 * populated generation, unless it is also the youngest generation
  1945	 */
  1946	static inline bool lru_gen_add_rejected_folio(struct lruvec *lruvec, struct folio *folio,
  1947			unsigned long scanned_seq)
  1948	{
  1949		unsigned long seq;
  1950		unsigned long flags;
  1951		int gen;
> 1952		int type = folio_is_file_lru(folio);
> 1953		int zone = folio_zonenum(folio);
  1954		struct lru_gen_folio *lrugen = &lruvec->lrugen;
  1955		unsigned long max_seq = READ_ONCE((lruvec)->lrugen.max_seq);
  1956	
  1957		if (folio_test_unevictable(folio) || !lrugen->enabled)
  1958			return false;
  1959	
  1960		seq = lru_gen_folio_seq(lruvec, folio, false);
  1961		seq = max(seq, min(scanned_seq + 1, max_seq));
  1962		gen = lru_gen_from_seq(seq);
  1963		flags = (gen + 1UL) << LRU_GEN_PGOFF;
  1964		/* see the comment on MIN_NR_GENS about PG_active */
  1965		set_mask_bits(folio_flags(folio, 0), LRU_GEN_MASK | BIT(PG_active), flags);
  1966	
> 1967		lru_gen_update_size(lruvec, folio, -1, gen);
> 1968		list_add(&folio->lru, &lrugen->folios[gen][type][zone]);
  1969	
  1970		return true;
  1971	}
  1972	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-10  8:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-10  8:30 [baohua:dev/kairui_scanbalance 9/9] mm/vmscan.c:1953:6: warning: variable 'zone' set but not used kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox