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
next 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).