:::::: 
:::::: Manual check reason: "low confidence static check first_new_problem: 
kernel/sched/rt.c:2223:25: sparse: sparse: cast from unknown type"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Michael Ellerman <[email protected]>
CC: Nathan Chancellor <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
commit: e432fe97f3e5de325b40021e505cce53877586c5 powerpc/bug: Cast to unsigned 
long before passing to inline asm
date:   10 months ago
:::::: branch date: 2 days ago
:::::: commit date: 10 months ago
config: powerpc64-randconfig-s032-20220613 
(https://download.01.org/0day-ci/archive/20220614/[email protected]/config)
compiler: powerpc64le-linux-gcc (GCC) 11.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.4-30-g92122700-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e432fe97f3e5de325b40021e505cce53877586c5
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e432fe97f3e5de325b40021e505cce53877586c5
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc 
SHELL=/bin/bash arch/powerpc/kvm/ arch/powerpc/platforms/powernv/ kernel/sched/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
   kernel/sched/rt.c:913:70: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:913:70: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/rt.c:913:70: sparse:    struct task_struct *
   kernel/sched/rt.c:2223:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:2223:25: sparse:    struct task_struct *
   kernel/sched/rt.c:2223:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/rt.c:2223:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:2223:25: sparse:    struct task_struct *
   kernel/sched/rt.c:2223:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/rt.c:2223:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:2223:25: sparse:    struct task_struct *
   kernel/sched/rt.c:2223:25: sparse:    struct task_struct [noderef] __rcu *
>> kernel/sched/rt.c:2223:25: sparse: sparse: cast from unknown type
   kernel/sched/rt.c:530:54: sparse: sparse: incorrect type in initializer 
(different address spaces) @@     expected struct task_struct *curr @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:530:54: sparse:     expected struct task_struct *curr
   kernel/sched/rt.c:530:54: sparse:     got struct task_struct [noderef] __rcu 
*curr
   kernel/sched/rt.c:999:38: sparse: sparse: incorrect type in initializer 
(different address spaces) @@     expected struct task_struct *curr @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:999:38: sparse:     expected struct task_struct *curr
   kernel/sched/rt.c:999:38: sparse:     got struct task_struct [noderef] __rcu 
*curr
   kernel/sched/rt.c:1426:31: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:1426:31: sparse:     expected struct task_struct *p
   kernel/sched/rt.c:1426:31: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c:1753: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/rt.c:1753:9: sparse:     expected struct sched_domain 
*[assigned] sd
   kernel/sched/rt.c:1753:9: sparse:     got struct sched_domain [noderef] 
__rcu *parent
   kernel/sched/rt.c:1446:14: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected struct task_struct *curr @@     got 
struct task_struct [noderef] __rcu * @@
   kernel/sched/rt.c:1446:14: sparse:     expected struct task_struct *curr
   kernel/sched/rt.c:1446:14: sparse:     got struct task_struct [noderef] 
__rcu *
   kernel/sched/rt.c:1511:45: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:1511:45: sparse:     expected struct task_struct *p
   kernel/sched/rt.c:1511:45: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c:1572:67: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *tsk @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:1572:67: sparse:     expected struct task_struct *tsk
   kernel/sched/rt.c:1572:67: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c:1895:40: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *task @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:1895:40: sparse:     expected struct task_struct *task
   kernel/sched/rt.c:1895:40: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c:1916:13: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:1916:13: sparse:    struct task_struct *
   kernel/sched/rt.c:1916:13: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/rt.c:1916:13: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:1916:13: sparse:    struct task_struct *
   kernel/sched/rt.c:1916:13: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/rt.c:1916:13: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   kernel/sched/rt.c:1916:13: sparse:    struct task_struct *
   kernel/sched/rt.c:1916:13: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/rt.c:1916:13: sparse: sparse: cast from unknown type
   kernel/sched/rt.c:2274:54: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *tsk @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:2274:54: sparse:     expected struct task_struct *tsk
   kernel/sched/rt.c:2274:54: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c:2276:40: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:2276:40: sparse:     expected struct task_struct *p
   kernel/sched/rt.c:2276:40: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c:2276:61: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/rt.c:2276:61: sparse:     expected struct task_struct *p
   kernel/sched/rt.c:2276:61: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/rt.c: note: in included file:
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
--
   kernel/sched/deadline.c:2150:13: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2150:13: sparse:    struct task_struct *
   kernel/sched/deadline.c:2150:13: sparse:    struct task_struct [noderef] 
__rcu *
   kernel/sched/deadline.c:2150:13: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2150:13: sparse:    struct task_struct *
   kernel/sched/deadline.c:2150:13: sparse:    struct task_struct [noderef] 
__rcu *
   kernel/sched/deadline.c:2150:13: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2150:13: sparse:    struct task_struct *
   kernel/sched/deadline.c:2150:13: sparse:    struct task_struct [noderef] 
__rcu *
>> kernel/sched/deadline.c:2150:13: sparse: sparse: cast from unknown type
   kernel/sched/deadline.c:2278:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2278:25: sparse:    struct task_struct *
   kernel/sched/deadline.c:2278:25: sparse:    struct task_struct [noderef] 
__rcu *
   kernel/sched/deadline.c:2278:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2278:25: sparse:    struct task_struct *
   kernel/sched/deadline.c:2278:25: sparse:    struct task_struct [noderef] 
__rcu *
   kernel/sched/deadline.c:2278:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2278:25: sparse:    struct task_struct *
   kernel/sched/deadline.c:2278:25: sparse:    struct task_struct [noderef] 
__rcu *
   kernel/sched/deadline.c:2278:25: sparse: sparse: cast from unknown type
   kernel/sched/deadline.c:1798:42: sparse: sparse: incorrect type in argument 
2 (different address spaces) @@     expected struct sched_dl_entity *b @@     
got struct sched_dl_entity [noderef] __rcu * @@
   kernel/sched/deadline.c:1798:42: sparse:     expected struct sched_dl_entity 
*b
   kernel/sched/deadline.c:1798:42: sparse:     got struct sched_dl_entity 
[noderef] __rcu *
   kernel/sched/deadline.c:1809:38: sparse: sparse: incorrect type in argument 
1 (different address spaces) @@     expected struct task_struct *tsk @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/deadline.c:1809:38: sparse:     expected struct task_struct *tsk
   kernel/sched/deadline.c:1809:38: sparse:     got struct task_struct 
[noderef] __rcu *curr
   kernel/sched/deadline.c:1114:23: sparse: sparse: incorrect type in argument 
1 (different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/deadline.c:1114:23: sparse:     expected struct task_struct *p
   kernel/sched/deadline.c:1114:23: sparse:     got struct task_struct 
[noderef] __rcu *curr
   kernel/sched/deadline.c:1243:38: sparse: sparse: incorrect type in 
initializer (different address spaces) @@     expected struct task_struct *curr 
@@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/deadline.c:1243:38: sparse:     expected struct task_struct 
*curr
   kernel/sched/deadline.c:1243:38: sparse:     got struct task_struct 
[noderef] __rcu *curr
   kernel/sched/deadline.c:2006: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/deadline.c:2006:9: sparse:     expected struct sched_domain 
*[assigned] sd
   kernel/sched/deadline.c:2006:9: sparse:     got struct sched_domain 
[noderef] __rcu *parent
   kernel/sched/deadline.c:1683:14: sparse: sparse: incorrect type in 
assignment (different address spaces) @@     expected struct task_struct *curr 
@@     got struct task_struct [noderef] __rcu * @@
   kernel/sched/deadline.c:1683:14: sparse:     expected struct task_struct 
*curr
   kernel/sched/deadline.c:1683:14: sparse:     got struct task_struct 
[noderef] __rcu *
   kernel/sched/deadline.c:1759:43: sparse: sparse: incorrect type in argument 
2 (different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/deadline.c:1759:43: sparse:     expected struct task_struct *p
   kernel/sched/deadline.c:1759:43: sparse:     got struct task_struct 
[noderef] __rcu *curr
   kernel/sched/deadline.c:2323:38: sparse: sparse: incorrect type in argument 
1 (different address spaces) @@     expected struct task_struct *tsk @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/deadline.c:2323:38: sparse:     expected struct task_struct *tsk
   kernel/sched/deadline.c:2323:38: sparse:     got struct task_struct 
[noderef] __rcu *curr
   kernel/sched/deadline.c:2325:23: sparse: sparse: incorrect type in argument 
1 (different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *curr @@
   kernel/sched/deadline.c:2325:23: sparse:     expected struct task_struct *p
   kernel/sched/deadline.c:2325:23: sparse:     got struct task_struct 
[noderef] __rcu *curr
   kernel/sched/deadline.c:2327:44: sparse: sparse: incorrect type in argument 
2 (different address spaces) @@     expected struct sched_dl_entity *b @@     
got struct sched_dl_entity [noderef] __rcu * @@
   kernel/sched/deadline.c:2327:44: sparse:     expected struct sched_dl_entity 
*b
   kernel/sched/deadline.c:2327:44: sparse:     got struct sched_dl_entity 
[noderef] __rcu *
   kernel/sched/deadline.c:2491:22: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/deadline.c:2491:22: sparse:    struct task_struct [noderef] 
__rcu *
   kernel/sched/deadline.c:2491:22: sparse:    struct task_struct *
   kernel/sched/deadline.c:1142:24: sparse: sparse: context imbalance in 
'dl_task_timer' - wrong count at exit
   kernel/sched/deadline.c:1381:24: sparse: sparse: context imbalance in 
'inactive_task_timer' - wrong count at exit
   kernel/sched/deadline.c: note: in included file:
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
--
   kernel/sched/core.c:696: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:696:48: sparse:     expected struct task_struct *p
   kernel/sched/core.c:696:48: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:949: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:949:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:949:38: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:1004: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:1004:9: sparse:     expected struct sched_domain 
*[assigned] sd
   kernel/sched/core.c:1004:9: sparse:     got struct sched_domain [noderef] 
__rcu *parent
   kernel/sched/core.c:2074: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:2074:33: sparse:     expected struct task_struct *p
   kernel/sched/core.c:2074:33: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:2074: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:2074:68: sparse:     expected struct task_struct *tsk
   kernel/sched/core.c:2074:68: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:3286: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:3286:17: sparse:     expected struct sched_domain 
*[assigned] sd
   kernel/sched/core.c:3286:17: sparse:     got struct sched_domain [noderef] 
__rcu *parent
   kernel/sched/core.c:3486: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:3486:36: sparse:     expected struct task_struct const *p
   kernel/sched/core.c:3486:36: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:8455: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:8455:43: sparse:     expected struct task_struct 
*push_task
   kernel/sched/core.c:8455:43: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:4941: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:4941:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:4941:38: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:5829: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:5829:14: sparse:     expected struct task_struct *prev
   kernel/sched/core.c:5829:14: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:6422:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/core.c:6422:17: sparse:    struct task_struct *
   kernel/sched/core.c:6422:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6422:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/core.c:6422:17: sparse:    struct task_struct *
   kernel/sched/core.c:6422:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6422:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/core.c:6422:17: sparse:    struct task_struct *
   kernel/sched/core.c:6422:17: sparse:    struct task_struct [noderef] __rcu *
>> kernel/sched/core.c:6422:17: sparse: sparse: cast from unknown type
   kernel/sched/core.c:6629:22: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/core.c:6629:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6629:22: sparse:    struct task_struct *
   kernel/sched/core.c:9280:16: sparse: sparse: incorrect type in return 
expression (different address spaces) @@     expected struct task_struct * @@   
  got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/core.c:9280:16: sparse:     expected struct task_struct *
   kernel/sched/core.c:9280:16: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:10388: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:10388:25: sparse:     expected struct task_struct *p
   kernel/sched/core.c:10388:25: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:453:6: sparse: sparse: context imbalance in 
'raw_spin_rq_lock_nested' - wrong count at exit
   kernel/sched/core.c:486:23: sparse: sparse: context imbalance in 
'raw_spin_rq_trylock' - wrong count at exit
   kernel/sched/core.c:502:6: sparse: sparse: context imbalance in 
'raw_spin_rq_unlock' - unexpected unlock
   kernel/sched/core.c:540:36: sparse: sparse: context imbalance in 
'__task_rq_lock' - wrong count at exit
   kernel/sched/core.c:581:36: sparse: sparse: context imbalance in 
'task_rq_lock' - wrong count at exit
   kernel/sched/core.c: note: in included file:
   kernel/sched/pelt.h:76: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:76:13: sparse:     expected struct task_struct const *p
   kernel/sched/pelt.h:76:13: sparse:     got struct task_struct [noderef] 
__rcu *curr
   kernel/sched/core.c:696:11: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:2065:33: sparse: sparse: dereference of noderef 
expression
   kernel/sched/core.c:2066:19: sparse: sparse: dereference of noderef 
expression
   kernel/sched/core.c:2067:37: sparse: sparse: dereference of noderef 
expression
   kernel/sched/core.c: note: in included file:
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/core.c:2040:38: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/core.c:2040:38: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:2040:38: sparse:    struct task_struct const *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *

vim +2223 kernel/sched/rt.c

b6366f048e0caf kernel/sched/rt.c Steven Rostedt  2015-03-18  2186  
c6c4927b22a351 kernel/sched_rt.c Rusty Russell   2008-11-25  2187       
for_each_cpu(cpu, this_rq->rd->rto_mask) {
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2188               
if (this_cpu == cpu)
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2189               
        continue;
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2190  
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2191               
src_rq = cpu_rq(cpu);
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2192  
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2193               
/*
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2194               
 * Don't bother taking the src_rq->lock if the next highest
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2195               
 * task is known to be lower-priority than our current task.
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2196               
 * This may look racy, but if this value is about to go
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2197               
 * logically higher, the src_rq will push this task away.
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2198               
 * And if its going logically lower, we do not care
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2199               
 */
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2200               
if (src_rq->rt.highest_prio.next >=
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2201               
    this_rq->rt.highest_prio.curr)
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2202               
        continue;
74ab8e4f6412c0 kernel/sched_rt.c Gregory Haskins 2008-12-29  2203  
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2204               
/*
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2205               
 * We can potentially drop this_rq's lock in
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2206               
 * double_lock_balance, and another CPU could
a8728944efe234 kernel/sched_rt.c Gregory Haskins 2008-12-29  2207               
 * alter this_rq
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2208               
 */
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2209               
push_task = NULL;
a8728944efe234 kernel/sched_rt.c Gregory Haskins 2008-12-29  2210               
double_lock_balance(this_rq, src_rq);
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2211  
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2212               
/*
e23ee74777f389 kernel/sched/rt.c Kirill Tkhai    2013-06-07  2213               
 * We can pull only a task, which is pushable
e23ee74777f389 kernel/sched/rt.c Kirill Tkhai    2013-06-07  2214               
 * on its rq, and no others.
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2215               
 */
e23ee74777f389 kernel/sched/rt.c Kirill Tkhai    2013-06-07  2216               
p = pick_highest_pushable_task(src_rq, this_cpu);
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2217  
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2218               
/*
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2219               
 * Do we have an RT task that preempts
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2220               
 * the to-be-scheduled task?
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2221               
 */
a8728944efe234 kernel/sched_rt.c Gregory Haskins 2008-12-29  2222               
if (p && (p->prio < this_rq->rt.highest_prio.curr)) {
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25 @2223               
        WARN_ON(p == src_rq->curr);
da0c1e65b51a28 kernel/sched/rt.c Kirill Tkhai    2014-08-20  2224               
        WARN_ON(!task_on_rq_queued(p));
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2225  
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2226               
        /*
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2227               
         * There's a chance that p is higher in priority
97fb7a0a8944bd kernel/sched/rt.c Ingo Molnar     2018-03-03  2228               
         * than what's currently running on its CPU.
3b03706fa621ce kernel/sched/rt.c Ingo Molnar     2021-03-18  2229               
         * This is just that p is waking up and hasn't
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2230               
         * had a chance to schedule. We only pull
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2231               
         * p if it is lower in priority than the
a8728944efe234 kernel/sched_rt.c Gregory Haskins 2008-12-29  2232               
         * current task on the run queue
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2233               
         */
a8728944efe234 kernel/sched_rt.c Gregory Haskins 2008-12-29  2234               
        if (p->prio < src_rq->curr->prio)
614ee1f61f667b kernel/sched_rt.c Mike Galbraith  2008-01-25  2235               
                goto skip;
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2236  
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2237               
        if (is_migration_disabled(p)) {
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2238               
                push_task = get_push_task(src_rq);
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2239               
        } else {
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2240               
                deactivate_task(src_rq, p, 0);
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2241               
                set_task_cpu(p, this_cpu);
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2242               
                activate_task(this_rq, p, 0);
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2243               
                resched = true;
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2244               
        }
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2245               
        /*
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2246               
         * We continue with the search, just in
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2247               
         * case there's an even higher prio task
25985edcedea63 kernel/sched_rt.c Lucas De Marchi 2011-03-30  2248               
         * in another runqueue. (low likelihood
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2249               
         * but possible)
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2250               
         */
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2251               
}
614ee1f61f667b kernel/sched_rt.c Mike Galbraith  2008-01-25  2252  skip:
1b12bbc747560e kernel/sched_rt.c Peter Zijlstra  2008-08-11  2253               
double_unlock_balance(this_rq, src_rq);
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2254  
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2255               
if (push_task) {
5cb9eaa3d274f7 kernel/sched/rt.c Peter Zijlstra  2020-11-17  2256               
        raw_spin_rq_unlock(this_rq);
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2257               
        stop_one_cpu_nowait(src_rq->cpu, push_cpu_stop,
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2258               
                            push_task, &src_rq->push_work);
5cb9eaa3d274f7 kernel/sched/rt.c Peter Zijlstra  2020-11-17  2259               
        raw_spin_rq_lock(this_rq);
a7c81556ec4d34 kernel/sched/rt.c Peter Zijlstra  2020-09-28  2260               
}
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2261       }
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2262  
8046d680624708 kernel/sched/rt.c Peter Zijlstra  2015-06-11  2263       if 
(resched)
8046d680624708 kernel/sched/rt.c Peter Zijlstra  2015-06-11  2264               
resched_curr(this_rq);
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2265  }
f65eda4f789168 kernel/sched_rt.c Steven Rostedt  2008-01-25  2266  

:::::: The code at line 2223 was first introduced by commit
:::::: f65eda4f789168ba5ff3fa75546c29efeed19f58 sched: pull RT tasks from 
overloaded runqueues

:::::: TO: Steven Rostedt <[email protected]>
:::::: CC: Ingo Molnar <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to