All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.