* [peterz-queue:sched/core-sched 16/29] kernel/sched/core.c:4049:6: sparse: sparse: context imbalance in 'wake_up_new_task' - wrong count at exit
@ 2021-04-16 4:45 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-16 4:45 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 13829 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: aa17e873016be2a89e8cb3c0fe044801874b3ea5
commit: d264c7c1defc2280317a692e046aad5e7676d021 [16/29] sched: Use raw_spin_rq_*lock*() helpers
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago
config: h8300-randconfig-s031-20210415 (attached as .config)
compiler: h8300-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-280-g2cd6d34e-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=d264c7c1defc2280317a692e046aad5e7676d021
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 d264c7c1defc2280317a692e046aad5e7676d021
# 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__' W=1 ARCH=h8300
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/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:4759: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:4759:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:4759:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:5641: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:5641:14: sparse: expected struct task_struct *prev
kernel/sched/core.c:5641:14: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:6300:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:6300:17: sparse: struct task_struct *
kernel/sched/core.c:6300:17: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:6507:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:6507:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:6507:22: sparse: struct task_struct *
kernel/sched/core.c:10192: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:10192:25: sparse: expected struct task_struct *p
kernel/sched/core.c:10192:25: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:377:6: sparse: sparse: context imbalance in 'raw_spin_rq_lock_nested' - wrong count at exit
kernel/sched/core.c:382:6: sparse: sparse: context imbalance in 'raw_spin_rq_trylock' - wrong count at exit
kernel/sched/core.c:387:6: sparse: sparse: context imbalance in 'raw_spin_rq_unlock' - unexpected unlock
kernel/sched/core.c:406:36: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit
kernel/sched/core.c:447:36: sparse: sparse: context imbalance in 'task_rq_lock' - wrong count at exit
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:3261:25: sparse: sparse: context imbalance in 'ttwu_runnable' - wrong count at exit
kernel/sched/core.c:3746:9: sparse: sparse: context imbalance in 'try_invoke_on_locked_down_task' - wrong count at exit
>> kernel/sched/core.c:4049:6: sparse: sparse: context imbalance in 'wake_up_new_task' - wrong count at exit
kernel/sched/core.c:4466:30: sparse: sparse: context imbalance in 'finish_task_switch' - wrong count at exit
kernel/sched/core.c: note: in included file:
kernel/sched/sched.h:1886:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1886:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1886:25: sparse: struct task_struct *
kernel/sched/sched.h:2044:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2044:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2044:9: sparse: struct task_struct *
kernel/sched/sched.h:2044:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2044:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2044:9: sparse: struct task_struct *
kernel/sched/sched.h:1886:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1886:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1886:25: sparse: struct task_struct *
kernel/sched/sched.h:2044:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2044:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2044:9: sparse: struct task_struct *
kernel/sched/sched.h:1886:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1886:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1886:25: sparse: struct task_struct *
kernel/sched/sched.h:2044:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2044:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2044:9: sparse: struct task_struct *
kernel/sched/sched.h:1886:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1886:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1886:25: sparse: struct task_struct *
kernel/sched/sched.h:2044:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2044:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2044:9: sparse: struct task_struct *
kernel/sched/sched.h:1886:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1886:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1886:25: sparse: struct task_struct *
vim +/wake_up_new_task +4049 kernel/sched/core.c
332ac17ef5bfcf kernel/sched/core.c Dario Faggioli 2013-11-07 4041
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4042 /*
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4043 * wake_up_new_task - wake up a newly created task for the first time.
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4044 *
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4045 * This function will do some initial scheduler statistics housekeeping
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4046 * that must be done for every newly created context, then puts the task
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4047 * on the runqueue and wakes it.
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4048 */
3e51e3edfd81bf kernel/sched.c Samir Bellabes 2011-05-11 @4049 void wake_up_new_task(struct task_struct *p)
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4050 {
eb58075149b7f0 kernel/sched/core.c Peter Zijlstra 2015-07-31 4051 struct rq_flags rf;
dd41f596cda0d7 kernel/sched.c Ingo Molnar 2007-07-09 4052 struct rq *rq;
fabf318e5e4bda kernel/sched.c Peter Zijlstra 2010-01-21 4053
eb58075149b7f0 kernel/sched/core.c Peter Zijlstra 2015-07-31 4054 raw_spin_lock_irqsave(&p->pi_lock, rf.flags);
7dc603c9028ea5 kernel/sched/core.c Peter Zijlstra 2016-06-16 4055 p->state = TASK_RUNNING;
fabf318e5e4bda kernel/sched.c Peter Zijlstra 2010-01-21 4056 #ifdef CONFIG_SMP
fabf318e5e4bda kernel/sched.c Peter Zijlstra 2010-01-21 4057 /*
fabf318e5e4bda kernel/sched.c Peter Zijlstra 2010-01-21 4058 * Fork balancing, do it here and not earlier because:
3bd3706251ee8a kernel/sched/core.c Sebastian Andrzej Siewior 2019-04-23 4059 * - cpus_ptr can change in the fork path
d1ccc66df8bfe3 kernel/sched/core.c Ingo Molnar 2017-02-01 4060 * - any previously selected CPU might disappear through hotplug
e210bffd39d01b kernel/sched/core.c Peter Zijlstra 2016-06-16 4061 *
e210bffd39d01b kernel/sched/core.c Peter Zijlstra 2016-06-16 4062 * Use __set_task_cpu() to avoid calling sched_class::migrate_task_rq,
e210bffd39d01b kernel/sched/core.c Peter Zijlstra 2016-06-16 4063 * as we're not fully set-up yet.
fabf318e5e4bda kernel/sched.c Peter Zijlstra 2010-01-21 4064 */
32e839dda3ba57 kernel/sched/core.c Mel Gorman 2018-01-30 4065 p->recent_used_cpu = task_cpu(p);
ce3614daabea8a kernel/sched/core.c Mathieu Desnoyers 2020-07-06 4066 rseq_migrate(p);
3aef1551e94286 kernel/sched/core.c Valentin Schneider 2020-11-02 4067 __set_task_cpu(p, select_task_rq(p, task_cpu(p), WF_FORK));
0017d735092844 kernel/sched.c Peter Zijlstra 2010-03-24 4068 #endif
b7fa30c9cc48c4 kernel/sched/core.c Peter Zijlstra 2016-06-09 4069 rq = __task_rq_lock(p, &rf);
4126bad6717336 kernel/sched/core.c Peter Zijlstra 2016-10-03 4070 update_rq_clock(rq);
d0fe0b9c45c144 kernel/sched/core.c Dietmar Eggemann 2019-01-22 4071 post_init_entity_util_avg(p);
0017d735092844 kernel/sched.c Peter Zijlstra 2010-03-24 4072
7a57f32a4d5c80 kernel/sched/core.c Peter Zijlstra 2017-02-21 4073 activate_task(rq, p, ENQUEUE_NOCLOCK);
fbd705a0c61845 kernel/sched/core.c Peter Zijlstra 2015-06-09 4074 trace_sched_wakeup_new(p);
a7558e01056f51 kernel/sched.c Peter Zijlstra 2009-09-14 4075 check_preempt_curr(rq, p, WF_FORK);
9a897c5a6701bc kernel/sched.c Steven Rostedt 2008-01-25 4076 #ifdef CONFIG_SMP
0aaafaabfcba8a kernel/sched/core.c Peter Zijlstra 2015-10-23 4077 if (p->sched_class->task_woken) {
0aaafaabfcba8a kernel/sched/core.c Peter Zijlstra 2015-10-23 4078 /*
b19a888c1e9bdf kernel/sched/core.c Tal Zussman 2020-11-12 4079 * Nothing relies on rq->lock after this, so it's fine to
0aaafaabfcba8a kernel/sched/core.c Peter Zijlstra 2015-10-23 4080 * drop it.
0aaafaabfcba8a kernel/sched/core.c Peter Zijlstra 2015-10-23 4081 */
d8ac897137a230 kernel/sched/core.c Matt Fleming 2016-09-21 4082 rq_unpin_lock(rq, &rf);
efbbd05a595343 kernel/sched.c Peter Zijlstra 2009-12-16 4083 p->sched_class->task_woken(rq, p);
d8ac897137a230 kernel/sched/core.c Matt Fleming 2016-09-21 4084 rq_repin_lock(rq, &rf);
0aaafaabfcba8a kernel/sched/core.c Peter Zijlstra 2015-10-23 4085 }
9a897c5a6701bc kernel/sched.c Steven Rostedt 2008-01-25 4086 #endif
eb58075149b7f0 kernel/sched/core.c Peter Zijlstra 2015-07-31 4087 task_rq_unlock(rq, p, &rf);
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4088 }
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 4089
:::::: The code at line 4049 was first introduced by commit
:::::: 3e51e3edfd81bfd9853ad7de91167e4ce33d0fe7 sched: Remove unused parameters from sched_fork() and wake_up_new_task()
:::::: TO: Samir Bellabes <sam@synack.fr>
:::::: CC: Ingo Molnar <mingo@elte.hu>
---
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: 21904 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-16 4:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-16 4:45 [peterz-queue:sched/core-sched 16/29] kernel/sched/core.c:4049:6: sparse: sparse: context imbalance in 'wake_up_new_task' - 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.