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 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@lists.01.org