All of lore.kernel.org
 help / color / mirror / Atom feed
* [peterz-queue:sched/core-sched 41/43] kernel/sched/sched.h:1138:30: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit
@ 2021-03-03 12:41 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-03 12:41 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 14756 bytes --]

CC: kbuild-all(a)lists.01.org
TO: Peter Zijlstra <peterz@infradead.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/core-sched
head:   4a2c9e0f53dc03a005b20f0355d0833b577e304b
commit: d00b3b305224f410fc0dff05c6a5d22c20201d9d [41/43] sched: Use raw_spin_rq_*lock*() helpers
:::::: branch date: 4 hours ago
:::::: commit date: 4 hours ago
config: powerpc64-randconfig-s032-20210303 (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 9.3.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-245-gacc5c298-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=d00b3b305224f410fc0dff05c6a5d22c20201d9d
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue sched/core-sched
        git checkout d00b3b305224f410fc0dff05c6a5d22c20201d9d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64 

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


"sparse warnings: (new ones prefixed by >>)"
   kernel/livepatch/transition.c:372:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/livepatch/transition.c:372:44: sparse:     expected struct spinlock [usertype] *lock
   kernel/livepatch/transition.c:372:44: sparse:     got struct spinlock [noderef] __rcu *
   kernel/livepatch/transition.c:374:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/livepatch/transition.c:374:46: sparse:     expected struct spinlock [usertype] *lock
   kernel/livepatch/transition.c:374:46: sparse:     got struct spinlock [noderef] __rcu *
>> kernel/livepatch/transition.c:281:13: sparse: sparse: context imbalance in 'klp_try_switch_task' - different lock contexts for basic block
--
   kernel/sched/core.c:254:6: sparse: sparse: symbol 'sched_core_get' was not declared. Should it be static?
   kernel/sched/core.c:262:6: sparse: sparse: symbol 'sched_core_put' was not declared. Should it be static?
   kernel/sched/core.c:562:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:562:48: sparse:     expected struct task_struct *p
   kernel/sched/core.c:562:48: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:816:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:816:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:816:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:1936:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:1936:33: sparse:     expected struct task_struct *p
   kernel/sched/core.c:1936:33: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:1936:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *tsk @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:1936:68: sparse:     expected struct task_struct *tsk
   kernel/sched/core.c:1936:68: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:3143:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/core.c:3143:17: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/core.c:3143:17: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/core.c:3340:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct const *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:3340:36: sparse:     expected struct task_struct const *p
   kernel/sched/core.c:3340:36: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:8319:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *push_task @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:8319:43: sparse:     expected struct task_struct *push_task
   kernel/sched/core.c:8319:43: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:4761:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:4761:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:4761:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:5436:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:5436:32: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:5436:32: sparse:    struct task_struct *
   kernel/sched/core.c:5463:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:5463:23: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:5463:23: sparse:    struct task_struct *
   kernel/sched/core.c:5471:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:5471:46: sparse:    struct task_struct *
   kernel/sched/core.c:5471:46: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:5528:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/core.c:5528:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/core.c:5528:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/core.c:5646:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *prev @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:5646:14: sparse:     expected struct task_struct *prev
   kernel/sched/core.c:5646:14: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:6305:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:6305:17: sparse:    struct task_struct *
   kernel/sched/core.c:6305:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6512:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:6512:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6512:22: sparse:    struct task_struct *
   kernel/sched/core.c:10200:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:10200:25: sparse:     expected struct task_struct *p
   kernel/sched/core.c:10200:25: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c: note: in included file:
   kernel/sched/sched.h:1138:30: sparse: sparse: context imbalance in 'raw_spin_rq_lock_nested' - wrong count at exit
   kernel/sched/core.c:384:16: sparse: sparse: context imbalance in 'raw_spin_rq_trylock' - wrong count at exit
   kernel/sched/sched.h:1138:30: sparse: sparse: context imbalance in 'raw_spin_rq_unlock' - unexpected unlock
>> kernel/sched/sched.h:1138:30: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit
>> kernel/sched/sched.h:1138:30: sparse: sparse: context imbalance in 'task_rq_lock' - wrong count at exit
   kernel/sched/core.c: note: in included file:
   kernel/sched/pelt.h:85:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct const *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/pelt.h:85:13: sparse:     expected struct task_struct const *p
   kernel/sched/pelt.h:85:13: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:562:11: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:1927:33: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:1928:19: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:1929:37: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c: note: in included file:
   kernel/sched/sched.h:1880:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/core.c:1902:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:1902:38: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:1902:38: sparse:    struct task_struct const *
   kernel/sched/sched.h:1880:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1880:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1880:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1880:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *
   kernel/sched/sched.h:1880:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1880:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2038:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2038:9: sparse:    struct task_struct *

vim +/__task_rq_lock +1138 kernel/sched/sched.h

172de0bfac8d66 Peter Zijlstra 2020-11-17  1137  
172de0bfac8d66 Peter Zijlstra 2020-11-17 @1138  static inline raw_spinlock_t *rq_lockp(struct rq *rq)
172de0bfac8d66 Peter Zijlstra 2020-11-17  1139  {
172de0bfac8d66 Peter Zijlstra 2020-11-17  1140  	if (sched_core_enabled(rq))
172de0bfac8d66 Peter Zijlstra 2020-11-17  1141  		return &rq->core->__lock;
172de0bfac8d66 Peter Zijlstra 2020-11-17  1142  
172de0bfac8d66 Peter Zijlstra 2020-11-17  1143  	return &rq->__lock;
172de0bfac8d66 Peter Zijlstra 2020-11-17  1144  }
172de0bfac8d66 Peter Zijlstra 2020-11-17  1145  

:::::: The code at line 1138 was first introduced by commit
:::::: 172de0bfac8d66fab5ae0a0a2f93348db895d4bb sched: Core-wide rq->lock

:::::: TO: Peter Zijlstra <peterz@infradead.org>
:::::: CC: Peter Zijlstra <peterz@infradead.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32144 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-03 12:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-03 12:41 [peterz-queue:sched/core-sched 41/43] kernel/sched/sched.h:1138:30: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.