oe-kbuild.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Fri, 11 Aug 2023 17:10:00 +0800	[thread overview]
Message-ID: <202308111754.YCz6Mqu2-lkp@intel.com> (raw)

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Qing Zhang <zhangqing@loongson.cn>
CC: Huacai Chen <chenhuacai@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   25aa0bebba72b318e71fe205bfd1236550cc9534
commit: 93a4fa622eb061f75f87f0cf9609ab4e69c67d01 LoongArch: Add STACKTRACE support
date:   12 months ago
:::::: branch date: 13 hours ago
:::::: commit date: 12 months ago
config: loongarch-randconfig-r071-20230811 (https://download.01.org/0day-ci/archive/20230811/202308111754.YCz6Mqu2-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230811/202308111754.YCz6Mqu2-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/r/202308111754.YCz6Mqu2-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   kernel/rcu/tree_stall.h:941:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:941:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:941:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:941:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:957:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:957:25: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:957:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:958:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:958:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:958:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:963:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:963:17: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:963:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree_stall.h:964:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree_stall.h:964:9: sparse:     expected void *ptr
   kernel/rcu/tree_stall.h:964:9: sparse:     got int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got unsigned int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got unsigned int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got unsigned int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got unsigned int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got int [noderef] __percpu *
>> kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2247:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2247:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2261:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2261:25: sparse:     expected void *ptr
   kernel/rcu/tree.c:2261:25: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:2272:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/rcu/tree.c:2272:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:2272:17: sparse:     got int [noderef] __percpu *
   kernel/rcu/tree.c:4212:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:4212:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:4212:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:4212:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:4212:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:4212:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:4212:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/rcu/tree.c:4212:17: sparse:     expected void *ptr
   kernel/rcu/tree.c:4212:17: sparse:     got unsigned int [noderef] __percpu *
   kernel/rcu/tree.c:4212:17: sparse: sparse: too many warnings

vim +2247 kernel/rcu/tree.c

f41d911f8c49a5 kernel/rcutree.c  Paul E. McKenney 2009-08-22  2215  
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2216  /*
d3f6bad3911736 kernel/rcutree.c  Paul E. McKenney 2009-12-02  2217   * Similar to rcu_report_qs_rdp(), for which it is a helper function.
d3f6bad3911736 kernel/rcutree.c  Paul E. McKenney 2009-12-02  2218   * Allows quiescent states for a group of CPUs to be reported at one go
d3f6bad3911736 kernel/rcutree.c  Paul E. McKenney 2009-12-02  2219   * to the specified rcu_node structure, though all the CPUs in the group
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2220   * must be represented by the same rcu_node structure (which need not be a
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2221   * leaf rcu_node structure, though it often will be).  The gps parameter
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2222   * is the grace-period snapshot, which means that the quiescent states
c9a24e2d0c7d33 kernel/rcu/tree.c Paul E. McKenney 2018-04-27  2223   * are valid only if rnp->gp_seq is equal to gps.  That structure's lock
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2224   * must be held upon entry, and it is released before return.
ec2c29765a4ab1 kernel/rcu/tree.c Paul E. McKenney 2018-05-07  2225   *
ec2c29765a4ab1 kernel/rcu/tree.c Paul E. McKenney 2018-05-07  2226   * As a special case, if mask is zero, the bit-already-cleared check is
ec2c29765a4ab1 kernel/rcu/tree.c Paul E. McKenney 2018-05-07  2227   * disabled.  This allows propagating quiescent state due to resumed tasks
ec2c29765a4ab1 kernel/rcu/tree.c Paul E. McKenney 2018-05-07  2228   * during grace-period initialization.
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2229   */
b50912d0b5e03f kernel/rcu/tree.c Paul E. McKenney 2018-07-03  2230  static void rcu_report_qs_rnp(unsigned long mask, struct rcu_node *rnp,
b50912d0b5e03f kernel/rcu/tree.c Paul E. McKenney 2018-07-03  2231  			      unsigned long gps, unsigned long flags)
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2232  	__releases(rnp->lock)
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2233  {
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2234  	unsigned long oldmask = 0;
28ecd58020409b kernel/rcutree.c  Paul E. McKenney 2009-09-18  2235  	struct rcu_node *rnp_c;
28ecd58020409b kernel/rcutree.c  Paul E. McKenney 2009-09-18  2236  
a32e01ee689794 kernel/rcu/tree.c Matthew Wilcox   2018-01-17  2237  	raw_lockdep_assert_held_rcu_node(rnp);
c0b334c5bfa98a kernel/rcu/tree.c Paul E. McKenney 2017-04-28  2238  
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2239  	/* Walk up the rcu_node hierarchy. */
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2240  	for (;;) {
ec2c29765a4ab1 kernel/rcu/tree.c Paul E. McKenney 2018-05-07  2241  		if ((!(rnp->qsmask & mask) && mask) || rnp->gp_seq != gps) {
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2242  
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2243  			/*
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2244  			 * Our bit has already been cleared, or the
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2245  			 * relevant grace period is already over, so done.
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2246  			 */
67c583a7de3433 kernel/rcu/tree.c Boqun Feng       2015-12-29 @2247  			raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2248  			return;
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2249  		}
654e953340491e kernel/rcu/tree.c Paul E. McKenney 2015-03-15  2250  		WARN_ON_ONCE(oldmask); /* Any child must be all zeroed! */
5b4c11d54b1b8d kernel/rcu/tree.c Paul E. McKenney 2018-04-13  2251  		WARN_ON_ONCE(!rcu_is_leaf_node(rnp) &&
2dee9404fa8c43 kernel/rcu/tree.c Paul E. McKenney 2017-07-11  2252  			     rcu_preempt_blocked_readers_cgp(rnp));
7672d647ddae37 kernel/rcu/tree.c Paul E. McKenney 2020-01-03  2253  		WRITE_ONCE(rnp->qsmask, rnp->qsmask & ~mask);
67a0edbf3c4dfc kernel/rcu/tree.c Paul E. McKenney 2018-07-05  2254  		trace_rcu_quiescent_state_report(rcu_state.name, rnp->gp_seq,
d4c08f2ac311a3 kernel/rcutree.c  Paul E. McKenney 2011-06-25  2255  						 mask, rnp->qsmask, rnp->level,
d4c08f2ac311a3 kernel/rcutree.c  Paul E. McKenney 2011-06-25  2256  						 rnp->grplo, rnp->grphi,
d4c08f2ac311a3 kernel/rcutree.c  Paul E. McKenney 2011-06-25  2257  						 !!rnp->gp_tasks);
27f4d28057adf9 kernel/rcutree.c  Paul E. McKenney 2011-02-07  2258  		if (rnp->qsmask != 0 || rcu_preempt_blocked_readers_cgp(rnp)) {
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2259  
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2260  			/* Other bits still set at this level, so done. */
67c583a7de3433 kernel/rcu/tree.c Boqun Feng       2015-12-29  2261  			raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2262  			return;
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2263  		}
d43a5d32e125db kernel/rcu/tree.c Paul E. McKenney 2018-04-28  2264  		rnp->completedqs = rnp->gp_seq;
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2265  		mask = rnp->grpmask;
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2266  		if (rnp->parent == NULL) {
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2267  
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2268  			/* No more levels.  Exit loop holding root lock. */
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2269  
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2270  			break;
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2271  		}
67c583a7de3433 kernel/rcu/tree.c Boqun Feng       2015-12-29  2272  		raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
28ecd58020409b kernel/rcutree.c  Paul E. McKenney 2009-09-18  2273  		rnp_c = rnp;
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2274  		rnp = rnp->parent;
2a67e741bbbc02 kernel/rcu/tree.c Peter Zijlstra   2015-10-08  2275  		raw_spin_lock_irqsave_rcu_node(rnp, flags);
0937d045732b5d kernel/rcu/tree.c Paul E. McKenney 2020-01-03  2276  		oldmask = READ_ONCE(rnp_c->qsmask);
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2277  	}
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2278  
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2279  	/*
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2280  	 * Get here if we are the last CPU to pass through a quiescent
d3f6bad3911736 kernel/rcutree.c  Paul E. McKenney 2009-12-02  2281  	 * state for this grace period.  Invoke rcu_report_qs_rsp()
f41d911f8c49a5 kernel/rcutree.c  Paul E. McKenney 2009-08-22  2282  	 * to clean up and start the next grace period if one is needed.
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2283  	 */
aff4e9ede52bad kernel/rcu/tree.c Paul E. McKenney 2018-07-03  2284  	rcu_report_qs_rsp(flags); /* releases rnp->lock. */
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2285  }
64db4cfff99c04 kernel/rcutree.c  Paul E. McKenney 2008-12-18  2286  

:::::: The code at line 2247 was first introduced by commit
:::::: 67c583a7de3433a971983490b37ad2bff3c55463 RCU: Privatize rcu_node::lock

:::::: TO: Boqun Feng <boqun.feng@gmail.com>
:::::: CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

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

             reply	other threads:[~2023-08-11  9:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-11  9:10 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-08-11  6:15 kernel/rcu/tree.c:2247:25: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot
2022-11-28 10:54 kernel test robot
2022-08-14  3:15 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202308111754.YCz6Mqu2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).