CC: [email protected] BCC: [email protected] CC: Linux Memory Management List <[email protected]> TO: Yu Zhao <[email protected]> CC: Andrew Morton <[email protected]> CC: Linux Memory Management List <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 40354149f4d738dc3492d9998e45b3f02950369a commit: 32be05f0e1b84564fa4e5d1810191a198c47f87b [4227/4328] mm: multi-gen LRU: support page table walks :::::: branch date: 2 days ago :::::: commit date: 2 days ago config: alpha-allmodconfig (https://download.01.org/0day-ci/archive/20220416/[email protected]/config) compiler: alpha-linux-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=32be05f0e1b84564fa4e5d1810191a198c47f87b git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 32be05f0e1b84564fa4e5d1810191a198c47f87b # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> sparse warnings: (new ones prefixed by >>) mm/vmscan.c:3184:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *owner @@ mm/vmscan.c:3184:40: sparse: expected struct task_struct *p mm/vmscan.c:3184:40: sparse: got struct task_struct [noderef] __rcu *owner >> mm/vmscan.c:3990:29: sparse: sparse: cast to non-scalar >> mm/vmscan.c:3990:29: sparse: sparse: cast from non-scalar mm/vmscan.c:1329:28: sparse: sparse: context imbalance in '__remove_mapping' - unexpected unlock mm/vmscan.c:2203:33: sparse: sparse: context imbalance in 'folio_isolate_lru' - unexpected unlock mm/vmscan.c:2296:48: sparse: sparse: context imbalance in 'move_pages_to_lru' - unexpected unlock mm/vmscan.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...): include/linux/rcupdate.h:725:9: sparse: sparse: context imbalance in 'lru_gen_look_around' - different lock contexts for basic block mm/vmscan.c: note: in included file (through include/linux/swap.h): include/linux/memcontrol.h:1610:39: sparse: sparse: context imbalance in 'check_move_unevictable_pages' - unexpected unlock vim +3990 mm/vmscan.c 32be05f0e1b8456 Yu Zhao 2022-04-13 3975 32be05f0e1b8456 Yu Zhao 2022-04-13 3976 static int walk_pud_range(p4d_t *p4d, unsigned long start, unsigned long end, 32be05f0e1b8456 Yu Zhao 2022-04-13 3977 struct mm_walk *walk) 32be05f0e1b8456 Yu Zhao 2022-04-13 3978 { 32be05f0e1b8456 Yu Zhao 2022-04-13 3979 int i; 32be05f0e1b8456 Yu Zhao 2022-04-13 3980 pud_t *pud; 32be05f0e1b8456 Yu Zhao 2022-04-13 3981 unsigned long addr; 32be05f0e1b8456 Yu Zhao 2022-04-13 3982 unsigned long next; 32be05f0e1b8456 Yu Zhao 2022-04-13 3983 struct lru_gen_mm_walk *priv = walk->private; 32be05f0e1b8456 Yu Zhao 2022-04-13 3984 32be05f0e1b8456 Yu Zhao 2022-04-13 3985 VM_BUG_ON(p4d_leaf(*p4d)); 32be05f0e1b8456 Yu Zhao 2022-04-13 3986 32be05f0e1b8456 Yu Zhao 2022-04-13 3987 pud = pud_offset(p4d, start & P4D_MASK); 32be05f0e1b8456 Yu Zhao 2022-04-13 3988 restart: 32be05f0e1b8456 Yu Zhao 2022-04-13 3989 for (i = pud_index(start), addr = start; addr != end; i++, addr = next) { 32be05f0e1b8456 Yu Zhao 2022-04-13 @3990 pud_t val = READ_ONCE(pud[i]); 32be05f0e1b8456 Yu Zhao 2022-04-13 3991 32be05f0e1b8456 Yu Zhao 2022-04-13 3992 next = pud_addr_end(addr, end); 32be05f0e1b8456 Yu Zhao 2022-04-13 3993 32be05f0e1b8456 Yu Zhao 2022-04-13 3994 if (!pud_present(val) || WARN_ON_ONCE(pud_leaf(val))) 32be05f0e1b8456 Yu Zhao 2022-04-13 3995 continue; 32be05f0e1b8456 Yu Zhao 2022-04-13 3996 32be05f0e1b8456 Yu Zhao 2022-04-13 3997 walk_pmd_range(&val, addr, next, walk); 32be05f0e1b8456 Yu Zhao 2022-04-13 3998 32be05f0e1b8456 Yu Zhao 2022-04-13 3999 if (priv->batched >= MAX_LRU_BATCH) { 32be05f0e1b8456 Yu Zhao 2022-04-13 4000 end = (addr | ~PUD_MASK) + 1; 32be05f0e1b8456 Yu Zhao 2022-04-13 4001 goto done; 32be05f0e1b8456 Yu Zhao 2022-04-13 4002 } 32be05f0e1b8456 Yu Zhao 2022-04-13 4003 } 32be05f0e1b8456 Yu Zhao 2022-04-13 4004 32be05f0e1b8456 Yu Zhao 2022-04-13 4005 if (i < PTRS_PER_PUD && get_next_vma(walk, P4D_MASK, PUD_SIZE, &start, &end)) 32be05f0e1b8456 Yu Zhao 2022-04-13 4006 goto restart; 32be05f0e1b8456 Yu Zhao 2022-04-13 4007 32be05f0e1b8456 Yu Zhao 2022-04-13 4008 end = round_up(end, P4D_SIZE); 32be05f0e1b8456 Yu Zhao 2022-04-13 4009 done: 32be05f0e1b8456 Yu Zhao 2022-04-13 4010 /* rounded-up boundaries can wrap to 0 */ 32be05f0e1b8456 Yu Zhao 2022-04-13 4011 priv->next_addr = end && walk->vma ? max(end, walk->vma->vm_start) : 0; 32be05f0e1b8456 Yu Zhao 2022-04-13 4012 32be05f0e1b8456 Yu Zhao 2022-04-13 4013 return -EAGAIN; 32be05f0e1b8456 Yu Zhao 2022-04-13 4014 } 32be05f0e1b8456 Yu Zhao 2022-04-13 4015 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
