Hi Alfred,
FYI, the error/warning still remains.
tree:
https://github.com/zen-kernel/zen-kernel 5.15/prjc
head: 09b9774798f91c4747ee3266e910eb8aebf2118c
commit: b0e39e1ae101c8d2492c21132d91e1103ca585dd [93/237] sched/alt: Sync up missing new
interfaces.
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://github.com/zen-kernel/zen-kernel/commit/b0e39e1ae101c8d2492c21132...
git remote add zen
https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen 5.15/prjc
git checkout b0e39e1ae101c8d2492c21132d91e1103ca585dd
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
| __state
kernel/sched/alt_core.c: In function '__schedule':
kernel/sched/alt_core.c:3726:21: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
3726 | prev_state = prev->state;
| ^~~~~
| __state
kernel/sched/alt_core.c:3727:52: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
3727 | if (!preempt && prev_state && prev_state == prev->state) {
| ^~~~~
| __state
kernel/sched/alt_core.c:3729:10: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
3729 | prev->state = TASK_RUNNING;
| ^~~~~
| __state
kernel/sched/alt_core.c: In function 'sched_submit_work':
kernel/sched/alt_core.c:3828:12: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
3828 | if (!tsk->state)
| ^~~~~
| __state
In file included from arch/x86/include/asm/bug.h:84,
from include/linux/bug.h:5,
from arch/x86/include/asm/paravirt.h:15,
from arch/x86/include/asm/irqflags.h:63,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/kthread.h:6,
from include/trace/events/sched.h:8,
from kernel/sched/alt_core.c:15:
kernel/sched/alt_core.c: In function 'schedule_idle':
kernel/sched/alt_core.c:3903:24: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
3903 | WARN_ON_ONCE(current->state);
| ^~~~~
include/asm-generic/bug.h:104:25: note: in definition of macro 'WARN_ON_ONCE'
104 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
kernel/sched/alt_core.c: In function '__sched_setscheduler':
kernel/sched/alt_core.c:4425:39: error: 'MAX_USER_RT_PRIO' undeclared (first
use in this function); did you mean 'MAX_RT_PRIO'?
4425 | (p->mm && attr->sched_priority > MAX_USER_RT_PRIO - 1)
||
| ^~~~~~~~~~~~~~~~
| MAX_RT_PRIO
kernel/sched/alt_core.c: At top level:
kernel/sched/alt_core.c:5183:13: error: redefinition of '_cond_resched'
5183 | int __sched _cond_resched(void)
| ^~~~~~~~~~~~~
In file included from include/linux/kthread.h:6,
from include/trace/events/sched.h:8,
from kernel/sched/alt_core.c:15:
include/linux/sched.h:2065:19: note: previous definition of '_cond_resched' was
here
2065 | static inline int _cond_resched(void)
| ^~~~~~~~~~~~~
kernel/sched/alt_core.c: In function '__do_sys_sched_get_priority_max':
kernel/sched/alt_core.c:5336:9: error: 'MAX_USER_RT_PRIO' undeclared (first use
in this function); did you mean 'MAX_RT_PRIO'?
5336 | ret = MAX_USER_RT_PRIO-1;
| ^~~~~~~~~~~~~~~~
| MAX_RT_PRIO
kernel/sched/alt_core.c: In function 'sched_show_task':
kernel/sched/alt_core.c:5446:9: error: 'struct task_struct' has no member named
'state'; did you mean '__state'?
5446 | if (p->state == TASK_RUNNING)
| ^~~~~
| __state
kernel/sched/alt_core.c: In function 'state_filter_match':
kernel/sched/alt_core.c:5475:11: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
5475 | if (!(p->state & state_filter))
| ^~~~~
| __state
kernel/sched/alt_core.c:5482:49: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
5482 | if (state_filter == TASK_UNINTERRUPTIBLE && p->state == TASK_IDLE)
| ^~~~~
| __state
kernel/sched/alt_core.c: At top level:
kernel/sched/alt_core.c:5489:6: error: conflicting types for
'show_state_filter'
5489 | void show_state_filter(unsigned long state_filter)
| ^~~~~~~~~~~~~~~~~
In file included from kernel/sched/alt_sched.h:9,
from kernel/sched/sched.h:6,
from kernel/sched/alt_core.c:18:
include/linux/sched/debug.h:17:13: note: previous declaration of
'show_state_filter' was here
17 | extern void show_state_filter(unsigned int state_filter);
| ^~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c: In function 'init_idle':
kernel/sched/alt_core.c:5548:8: error: 'struct task_struct' has no member named
'state'; did you mean '__state'?
5548 | idle->state = TASK_RUNNING;
| ^~~~~
| __state
kernel/sched/alt_core.c: At top level:
kernel/sched/alt_core.c:5622:6: error: no previous prototype for
'idle_task_exit' [-Werror=missing-prototypes]
5622 | void idle_task_exit(void)
| ^~~~~~~~~~~~~~
kernel/sched/alt_core.c:5771:5: error: no previous prototype for
'sched_cpu_activate' [-Werror=missing-prototypes]
5771 | int sched_cpu_activate(unsigned int cpu)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:5804:5: error: no previous prototype for
'sched_cpu_deactivate' [-Werror=missing-prototypes]
5804 | int sched_cpu_deactivate(unsigned int cpu)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:5847:5: error: no previous prototype for
'sched_cpu_starting' [-Werror=missing-prototypes]
5847 | int sched_cpu_starting(unsigned int cpu)
| ^~~~~~~~~~~~~~~~~~
> kernel/sched/alt_core.c:5867:5: error: no previous prototype for
'sched_cpu_wait_empty' [-Werror=missing-prototypes]
5867 | int
sched_cpu_wait_empty(unsigned int cpu)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:5872:5: error: no previous prototype for
'sched_cpu_dying' [-Werror=missing-prototypes]
5872 | int sched_cpu_dying(unsigned int cpu)
| ^~~~~~~~~~~~~~~
In file included from include/linux/printk.h:11,
from include/linux/kernel.h:19,
from arch/x86/include/asm/percpu.h:27,
from arch/x86/include/asm/current.h:6,
from include/linux/sched.h:12,
from include/linux/kthread.h:6,
from include/trace/events/sched.h:8,
from kernel/sched/alt_core.c:15:
kernel/sched/alt_core.c: In function '__might_sleep':
kernel/sched/alt_core.c:6101:21: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
6101 | WARN_ONCE(current->state != TASK_RUNNING &&
current->task_state_change,
| ^~~~~
include/linux/once_lite.h:15:27: note: in definition of macro
'DO_ONCE_LITE_IF'
15 | bool __ret_do_once = !!(condition); \
| ^~~~~~~~~
kernel/sched/alt_core.c:6101:2: note: in expansion of macro 'WARN_ONCE'
6101 | WARN_ONCE(current->state != TASK_RUNNING &&
current->task_state_change,
| ^~~~~~~~~
In file included from arch/x86/include/asm/bug.h:84,
from include/linux/bug.h:5,
from arch/x86/include/asm/paravirt.h:15,
from arch/x86/include/asm/irqflags.h:63,
from include/linux/irqflags.h:16,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/kthread.h:6,
from include/trace/events/sched.h:8,
from kernel/sched/alt_core.c:15:
kernel/sched/alt_core.c:6104:13: error: 'struct task_struct' has no member
named 'state'; did you mean '__state'?
6104 | current->state,
| ^~~~~
include/asm-generic/bug.h:99:17: note: in definition of macro '__WARN_printf'
99 | __warn_printk(arg); \
| ^~~
include/linux/once_lite.h:19:4: note: in expansion of macro 'WARN'
19 | func(__VA_ARGS__); \
| ^~~~
include/asm-generic/bug.h:150:2: note: in expansion of macro 'DO_ONCE_LITE_IF'
150 | DO_ONCE_LITE_IF(condition, WARN, 1, format)
| ^~~~~~~~~~~~~~~
kernel/sched/alt_core.c:6101:2: note: in expansion of macro 'WARN_ONCE'
6101 | WARN_ONCE(current->state != TASK_RUNNING &&
current->task_state_change,
| ^~~~~~~~~
kernel/sched/alt_core.c: In function '___might_sleep':
kernel/sched/alt_core.c:6117:16: error: variable 'preempt_disable_ip' set but
not used [-Werror=unused-but-set-variable]
6117 | unsigned long preempt_disable_ip;
| ^~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c: At top level:
kernel/sched/alt_core.c:6283:20: error: no previous prototype for
'sched_create_group' [-Werror=missing-prototypes]
6283 | struct task_group *sched_create_group(struct task_group *parent)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:6294:6: error: no previous prototype for
'sched_online_group' [-Werror=missing-prototypes]
6294 | void sched_online_group(struct task_group *tg, struct task_group *parent)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:6305:6: error: no previous prototype for
'sched_destroy_group' [-Werror=missing-prototypes]
6305 | void sched_destroy_group(struct task_group *tg)
| ^~~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:6311:6: error: no previous prototype for
'sched_offline_group' [-Werror=missing-prototypes]
6311 | void sched_offline_group(struct task_group *tg)
| ^~~~~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:6403:20: error: initialized field overwritten
[-Werror=override-init]
6403 | .legacy_cftypes = cpu_legacy_files,
| ^~~~~~~~~~~~~~~~
kernel/sched/alt_core.c:6403:20: note: (near initialization for
'cpu_cgrp_subsys.legacy_cftypes')
In file included from kernel/sched/alt_core.c:134:
kernel/sched/pds_imp.h: In function 'normal_prio':
kernel/sched/pds_imp.h:42:1: error: control reaches end of non-void function
[-Werror=return-type]
42 | }
| ^
cc1: all warnings being treated as errors
vim +/sched_cpu_wait_empty +5867 kernel/sched/alt_core.c
5855
5856 /*
5857 * Invoked immediately before the stopper thread is invoked to bring the
5858 * CPU down completely. At this point all per CPU kthreads except the
5859 * hotplug thread (current) and the stopper thread (inactive) have been
5860 * either parked or have been unbound from the outgoing CPU. Ensure that
5861 * any of those which might be on the way out are gone.
5862 *
5863 * If after this point a bound task is being woken on this CPU then the
5864 * responsible hotplug callback has failed to do it's job.
5865 * sched_cpu_dying() will catch it with the appropriate fireworks.
5866 */
5867 int sched_cpu_wait_empty(unsigned int cpu)
5868 {
5869 return 0;
5870 }
5871
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org