Re: [PATCH 2/4] mm: multi-gen LRU: MGLRU unbalance reclaim

From: kernel test robot
Date: Thu Nov 09 2023 - 06:08:58 EST


Hi Huan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on tj-cgroup/for-next linus/master v6.6 next-20231109]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Huan-Yang/mm-vmscan-LRU-unbalance-cgroup-reclaim/20231108-151757
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20231108065818.19932-3-link%40vivo.com
patch subject: [PATCH 2/4] mm: multi-gen LRU: MGLRU unbalance reclaim
config: x86_64-randconfig-013-20231108 (https://download.01.org/0day-ci/archive/20231109/202311091842.AqdVBQwL-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231109/202311091842.AqdVBQwL-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311091842.AqdVBQwL-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

mm/vmscan.c: In function 'isolate_folios':
>> mm/vmscan.c:4518:15: warning: 'unbalance' is used uninitialized in this function [-Wuninitialized]
4518 | if (scanned || unbalance)
| ~~~~~~~~^~~~~~~~~~~~


vim +/unbalance +4518 mm/vmscan.c

4480
4481 static int isolate_folios(struct lruvec *lruvec, struct scan_control *sc, int swappiness,
4482 int *type_scanned, struct list_head *list)
4483 {
4484 int i;
4485 int type;
4486 int scanned;
4487 int tier = -1;
4488 bool unbalance;
4489 DEFINE_MIN_SEQ(lruvec);
4490
4491 /*
4492 * Try to make the obvious choice first. When anon and file are both
4493 * available from the same generation, interpret swappiness 1 as file
4494 * first and 200 as anon first.
4495 */
4496 if (unlikely(unbalance_file_reclaim(sc, swappiness))) {
4497 unbalance = true;
4498 type = LRU_GEN_FILE;
4499 } else if (unlikely(unbalance_anon_reclaim(sc, swappiness))) {
4500 unbalance = true;
4501 type = LRU_GEN_ANON;
4502 } else if (!swappiness)
4503 type = LRU_GEN_FILE;
4504 else if (min_seq[LRU_GEN_ANON] < min_seq[LRU_GEN_FILE])
4505 type = LRU_GEN_ANON;
4506 else if (swappiness == 1)
4507 type = LRU_GEN_FILE;
4508 else if (swappiness == 200)
4509 type = LRU_GEN_ANON;
4510 else
4511 type = get_type_to_scan(lruvec, swappiness, &tier);
4512
4513 for (i = !swappiness; i < ANON_AND_FILE; i++) {
4514 if (tier < 0)
4515 tier = get_tier_idx(lruvec, type);
4516
4517 scanned = scan_folios(lruvec, sc, type, tier, list);
> 4518 if (scanned || unbalance)
4519 break;
4520
4521 type = !type;
4522 tier = -1;
4523 }
4524
4525 *type_scanned = type;
4526
4527 return scanned;
4528 }
4529

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