CC: kbuild-...@lists.01.org
In-Reply-To: <20210814052519.86679-4-songmuc...@bytedance.com>
References: <20210814052519.86679-4-songmuc...@bytedance.com>
TO: Muchun Song <songmuc...@bytedance.com>
TO: g...@fb.com
TO: han...@cmpxchg.org
TO: mho...@kernel.org
TO: a...@linux-foundation.org
TO: shake...@google.com
TO: vdavydov....@gmail.com
CC: linux-ker...@vger.kernel.org
CC: linux...@kvack.org
CC: duanxiongc...@bytedance.com
CC: fam.zh...@bytedance.com

Hi Muchun,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20210813]
[cannot apply to hnaz-linux-mm/master cgroup/for-next linus/master v5.14-rc5 
v5.14-rc4 v5.14-rc3 v5.14-rc5]
[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]

url:    
https://github.com/0day-ci/linux/commits/Muchun-Song/Use-obj_cgroup-APIs-to-charge-the-LRU-pages/20210814-132844
base:    4b358aabb93a2c654cd1dcab1a25a589f6e2b153
:::::: branch date: 8 hours ago
:::::: commit date: 8 hours ago
config: h8300-randconfig-s031-20210814 (attached as .config)
compiler: h8300-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.3-348-gf0e6938b-dirty
        # 
https://github.com/0day-ci/linux/commit/85e68f3fee63641ee3b35fc190c70deedbf1b913
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Muchun-Song/Use-obj_cgroup-APIs-to-charge-the-LRU-pages/20210814-132844
        git checkout 85e68f3fee63641ee3b35fc190c70deedbf1b913
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=h8300 
SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)
   mm/memcontrol.c:4093:21: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   mm/memcontrol.c:4093:21: sparse:    struct mem_cgroup_threshold_ary 
[noderef] __rcu *
   mm/memcontrol.c:4093:21: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4095:21: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   mm/memcontrol.c:4095:21: sparse:    struct mem_cgroup_threshold_ary 
[noderef] __rcu *
   mm/memcontrol.c:4095:21: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4251:9: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   mm/memcontrol.c:4251:9: sparse:    struct mem_cgroup_threshold_ary [noderef] 
__rcu *
   mm/memcontrol.c:4251:9: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4345:9: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   mm/memcontrol.c:4345:9: sparse:    struct mem_cgroup_threshold_ary [noderef] 
__rcu *
   mm/memcontrol.c:4345:9: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, 
include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/rcupdate.h:718:9: sparse: sparse: context imbalance in 
'folio_lruvec_lock' - wrong count at exit
>> include/linux/rcupdate.h:718:9: sparse: sparse: context imbalance in 
>> 'folio_lruvec_lock_irq' - wrong count at exit
>> include/linux/rcupdate.h:718:9: sparse: sparse: context imbalance in 
>> 'folio_lruvec_lock_irqsave' - wrong count at exit
   mm/memcontrol.c:1977:6: sparse: sparse: context imbalance in 
'folio_memcg_lock' - wrong count at exit
   mm/memcontrol.c:2031:17: sparse: sparse: context imbalance in 
'__folio_memcg_unlock' - unexpected unlock
   mm/memcontrol.c:5370:6: sparse: sparse: context imbalance in 
'mem_cgroup_flush_stats' - wrong count at exit

vim +/folio_lruvec_lock_irq +718 include/linux/rcupdate.h

^1da177e4c3f41 Linus Torvalds   2005-04-16  691  
^1da177e4c3f41 Linus Torvalds   2005-04-16  692  /*
^1da177e4c3f41 Linus Torvalds   2005-04-16  693   * So where is 
rcu_write_lock()?  It does not exist, as there is no
^1da177e4c3f41 Linus Torvalds   2005-04-16  694   * way for writers to lock out 
RCU readers.  This is a feature, not
^1da177e4c3f41 Linus Torvalds   2005-04-16  695   * a bug -- this property is 
what provides RCU's performance benefits.
^1da177e4c3f41 Linus Torvalds   2005-04-16  696   * Of course, writers must 
coordinate with each other.  The normal
^1da177e4c3f41 Linus Torvalds   2005-04-16  697   * spinlock primitives work 
well for this, but any other technique may be
^1da177e4c3f41 Linus Torvalds   2005-04-16  698   * used as well.  RCU does not 
care how the writers keep out of each
^1da177e4c3f41 Linus Torvalds   2005-04-16  699   * others' way, as long as 
they do so.
^1da177e4c3f41 Linus Torvalds   2005-04-16  700   */
3d76c082907e8f Paul E. McKenney 2009-09-28  701  
3d76c082907e8f Paul E. McKenney 2009-09-28  702  /**
ca5ecddfa8fcbd Paul E. McKenney 2010-04-28  703   * rcu_read_unlock() - marks 
the end of an RCU read-side critical section.
3d76c082907e8f Paul E. McKenney 2009-09-28  704   *
0223846010750e Paul E. McKenney 2021-04-29  705   * In almost all situations, 
rcu_read_unlock() is immune from deadlock.
0223846010750e Paul E. McKenney 2021-04-29  706   * In recent kernels that have 
consolidated synchronize_sched() and
0223846010750e Paul E. McKenney 2021-04-29  707   * synchronize_rcu_bh() into 
synchronize_rcu(), this deadlock immunity
0223846010750e Paul E. McKenney 2021-04-29  708   * also extends to the 
scheduler's runqueue and priority-inheritance
0223846010750e Paul E. McKenney 2021-04-29  709   * spinlocks, courtesy of the 
quiescent-state deferral that is carried
0223846010750e Paul E. McKenney 2021-04-29  710   * out when rcu_read_unlock() 
is invoked with interrupts disabled.
f27bc4873fa8b7 Paul E. McKenney 2014-05-04  711   *
3d76c082907e8f Paul E. McKenney 2009-09-28  712   * See rcu_read_lock() for 
more information.
3d76c082907e8f Paul E. McKenney 2009-09-28  713   */
bc33f24bdca8b6 Paul E. McKenney 2009-08-22  714  static inline void 
rcu_read_unlock(void)
bc33f24bdca8b6 Paul E. McKenney 2009-08-22  715  {
f78f5b90c4ffa5 Paul E. McKenney 2015-06-18  716         
RCU_LOCKDEP_WARN(!rcu_is_watching(),
bde23c6892878e Heiko Carstens   2012-02-01  717                          
"rcu_read_unlock() used illegally while idle");
bc33f24bdca8b6 Paul E. McKenney 2009-08-22 @718         __release(RCU);
bc33f24bdca8b6 Paul E. McKenney 2009-08-22  719         __rcu_read_unlock();
d24209bb689e2c Paul E. McKenney 2015-01-21  720         
rcu_lock_release(&rcu_lock_map); /* Keep acq info for rls diags. */
bc33f24bdca8b6 Paul E. McKenney 2009-08-22  721  }
^1da177e4c3f41 Linus Torvalds   2005-04-16  722  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to