Re: [PATCH] sched/fair: Update nohz.next_balance for newly NOHZ-idle CPUs

From: kernel test robot
Date: Wed Jul 14 2021 - 20:02:29 EST


Hi Valentin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/master linux/master linus/master v5.14-rc1 next-20210714]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Valentin-Schneider/sched-fair-Update-nohz-next_balance-for-newly-NOHZ-idle-CPUs/20210714-194021
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 031e3bd8986fffe31e1ddbf5264cccfe30c9abd7
config: x86_64-randconfig-s022-20210714 (attached as .config)
compiler: gcc-10 (Debian 10.2.1-6) 10.2.1 20210110
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/cbd87e97caf59c1a9d06d35e5a59404e4d7c8660
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Valentin-Schneider/sched-fair-Update-nohz-next_balance-for-newly-NOHZ-idle-CPUs/20210714-194021
git checkout cbd87e97caf59c1a9d06d35e5a59404e4d7c8660
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/sched/

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


sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:830:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:830:34: sparse: expected struct sched_entity *se
kernel/sched/fair.c:830:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:2477:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu * @@
kernel/sched/fair.c:2477:13: sparse: expected struct task_struct *tsk
kernel/sched/fair.c:2477:13: sparse: got struct task_struct [noderef] __rcu *
kernel/sched/fair.c:10730: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/fair.c:10730:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10730:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:4932:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:4932:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:4932:22: sparse: struct task_struct *
kernel/sched/fair.c:5692:1: sparse: sparse: symbol '__pcpu_scope_load_balance_mask' was not declared. Should it be static?
kernel/sched/fair.c:5693:1: sparse: sparse: symbol '__pcpu_scope_select_idle_mask' was not declared. Should it be static?
>> kernel/sched/fair.c:5697:1: sparse: sparse: symbol '__pcpu_scope_nohz_balance_mask' was not declared. Should it be static?
kernel/sched/fair.c:6719:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6719:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:6719:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:6853:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:6853:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:6853:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:7051:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7051:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7051:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7335:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7335:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7335:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8320:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:8320:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:8320:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:8768:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8768:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8768:22: sparse: struct task_struct *
kernel/sched/fair.c:10031: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/fair.c:10031:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10031:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:9691:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:9691:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:9691:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:10103: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/fair.c:10103:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10103:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:2421:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block
kernel/sched/fair.c:4597:31: sparse: sparse: marked inline, but without a definition
kernel/sched/fair.c: note: in included file:
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: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 *

Please review and possibly fold the followup patch.

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

Attachment: .config.gz
Description: application/gzip