[mingo-tip:sched/headers 13/2340] include/linux/rcupdate.h:414:36: error: dereferencing pointer to incomplete type 'struct css_set'

From: kernel test robot
Date: Wed Feb 23 2022 - 18:02:02 EST


tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers
head: 97c5eeb4de3ad324ed2a4656b46465299cfd010a
commit: c4ad6fcb67c42d65481c85733c8009c8afdfdf4e [13/2340] sched/headers: Reorganize, clean up and optimize kernel/sched/fair.c dependencies
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220224/202202240645.bKyoBrpQ-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=c4ad6fcb67c42d65481c85733c8009c8afdfdf4e
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip sched/headers
git checkout c4ad6fcb67c42d65481c85733c8009c8afdfdf4e
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

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

Note: the mingo-tip/sched/headers HEAD 97c5eeb4de3ad324ed2a4656b46465299cfd010a builds fine.
It only hurts bisectability.

All errors (new ones prefixed by >>):

In file included from ./arch/x86/include/generated/asm/rwonce.h:1,
from include/linux/compiler.h:255,
from include/linux/export.h:43,
from include/linux/linkage.h:7,
from include/linux/kernel.h:17,
from include/linux/cpumask.h:10,
from include/linux/energy_model.h:4,
from kernel/sched/fair.c:23:
include/linux/psi.h: In function 'cgroup_move_task':
>> include/linux/rcupdate.h:414:36: error: dereferencing pointer to incomplete type 'struct css_set'
414 | #define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
| ^~~~
include/asm-generic/rwonce.h:55:33: note: in definition of macro '__WRITE_ONCE'
55 | *(volatile typeof(x) *)&(x) = (val); \
| ^~~
arch/x86/include/asm/barrier.h:67:2: note: in expansion of macro 'WRITE_ONCE'
67 | WRITE_ONCE(*p, v); \
| ^~~~~~~~~~
include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
| ^~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:455:3: note: in expansion of macro 'smp_store_release'
455 | smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
| ^~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:455:25: note: in expansion of macro 'RCU_INITIALIZER'
455 | smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
| ^~~~~~~~~~~~~~~
include/linux/psi.h:58:2: note: in expansion of macro 'rcu_assign_pointer'
58 | rcu_assign_pointer(p->cgroups, to);
| ^~~~~~~~~~~~~~~~~~
In file included from kernel/sched/fair.c:52:
kernel/sched/sched.h: In function 'sched_core_account_forceidle':
kernel/sched/sched.h:1934:6: error: implicit declaration of function 'schedstat_enabled'; did you mean 'sched_core_enabled'? [-Werror=implicit-function-declaration]
1934 | if (schedstat_enabled())
| ^~~~~~~~~~~~~~~~~
| sched_core_enabled
kernel/sched/fair.c: At top level:
kernel/sched/fair.c:11136:6: warning: no previous prototype for 'task_vruntime_update' [-Wmissing-prototypes]
11136 | void task_vruntime_update(struct rq *rq, struct task_struct *p, bool in_fi)
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +414 include/linux/rcupdate.h

ca5ecddfa8fcbd Paul E. McKenney 2010-04-28 409
462225ae47d717 Paul E. McKenney 2013-11-11 410 /**
462225ae47d717 Paul E. McKenney 2013-11-11 411 * RCU_INITIALIZER() - statically initialize an RCU-protected global variable
462225ae47d717 Paul E. McKenney 2013-11-11 412 * @v: The value to statically initialize with.
462225ae47d717 Paul E. McKenney 2013-11-11 413 */
462225ae47d717 Paul E. McKenney 2013-11-11 @414 #define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
462225ae47d717 Paul E. McKenney 2013-11-11 415

:::::: The code at line 414 was first introduced by commit
:::::: 462225ae47d7175f886281d8a91708550cd5178c rcu: Add an RCU_INITIALIZER for global RCU-protected pointers

:::::: TO: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

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