* [jirislaby:next_master 139/201] kernel/sched/ext/ext.c:5178:17: error: implicit declaration of function 'scx_reenq_wait_dispatching'; did you mean 'scx_wait_dispatching'?
@ 2026-10-20 19:36 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-20 19:36 UTC (permalink / raw)
To: Tejun Heo; +Cc: oe-kbuild-all, Mark Brown
Hi Mark,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git next_master
head: 3d229ce89862b8e82d71a9e11d6f840ca272a6d6
commit: 67f116b3a9f895527f181af6218c3cdfbf1a966b [139/201] Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git
config: x86_64-rhel-9.4-bpf (https://download.01.org/0day-ci/archive/20261021/202610210332.DDqYQv5K-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261021/202610210332.DDqYQv5K-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610210332.DDqYQv5K-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from kernel/sched/build_policy.c:71:
kernel/sched/ext/ext.c: In function 'scx_reenq_reject':
>> kernel/sched/ext/ext.c:5178:17: error: implicit declaration of function 'scx_reenq_wait_dispatching'; did you mean 'scx_wait_dispatching'? [-Wimplicit-function-declaration]
5178 | scx_reenq_wait_dispatching(p);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| scx_wait_dispatching
In file included from include/asm-generic/percpu.h:9,
from arch/x86/include/asm/percpu.h:593,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:107,
from include/linux/smp.h:116,
from include/linux/sched/clock.h:5,
from kernel/sched/build_policy.c:16:
kernel/sched/ext/ext.c: In function 'free_dsq_irq_workfn':
kernel/sched/ext/ext.c:5690:68: error: 'struct scx_dispatch_q' has no member named 'pcpu'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~
include/linux/percpu-defs.h:216:54: note: in definition of macro '__verify_pcpu_ptr'
216 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
kernel/sched/ext/ext.c:5690:53: note: in expansion of macro 'per_cpu_ptr'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~~~~~~~~~~
In file included from include/linux/compiler_types.h:173,
from <command-line>:
kernel/sched/ext/ext.c:5690:68: error: 'struct scx_dispatch_q' has no member named 'pcpu'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~
include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE'
34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \
| ^~~
include/linux/percpu-defs.h:221:10: note: in expansion of macro 'TYPEOF_UNQUAL'
221 | (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
| ^~~~~~~~~~~~~
include/linux/percpu-defs.h:230:20: note: in expansion of macro 'PERCPU_PTR'
230 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~~~~~~~~
include/linux/percpu-defs.h:235:9: note: in expansion of macro 'SHIFT_PERCPU_PTR'
235 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~~~
kernel/sched/ext/ext.c:5690:53: note: in expansion of macro 'per_cpu_ptr'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~~~~~~~~~~
kernel/sched/ext/ext.c:5690:68: error: 'struct scx_dispatch_q' has no member named 'pcpu'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~
include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE'
34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \
| ^~~
include/linux/percpu-defs.h:230:20: note: in expansion of macro 'PERCPU_PTR'
230 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~~~~~~~~
include/linux/percpu-defs.h:235:9: note: in expansion of macro 'SHIFT_PERCPU_PTR'
235 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~~~
kernel/sched/ext/ext.c:5690:53: note: in expansion of macro 'per_cpu_ptr'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~~~~~~~~~~
kernel/sched/ext/ext.c:5690:68: error: 'struct scx_dispatch_q' has no member named 'pcpu'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~
include/linux/compiler-gcc.h:35:17: note: in definition of macro 'RELOC_HIDE'
35 | (typeof(ptr)) (__ptr + (off)); \
| ^~~
include/linux/percpu-defs.h:221:10: note: in expansion of macro 'TYPEOF_UNQUAL'
221 | (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
| ^~~~~~~~~~~~~
include/linux/percpu-defs.h:230:20: note: in expansion of macro 'PERCPU_PTR'
230 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~~~~~~~~
include/linux/percpu-defs.h:235:9: note: in expansion of macro 'SHIFT_PERCPU_PTR'
235 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~~~
kernel/sched/ext/ext.c:5690:53: note: in expansion of macro 'per_cpu_ptr'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~~~~~~~~~~
kernel/sched/ext/ext.c:5690:68: error: 'struct scx_dispatch_q' has no member named 'pcpu'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~
include/linux/compiler-gcc.h:35:17: note: in definition of macro 'RELOC_HIDE'
35 | (typeof(ptr)) (__ptr + (off)); \
| ^~~
include/linux/percpu-defs.h:230:20: note: in expansion of macro 'PERCPU_PTR'
230 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~~~~~~~~
include/linux/percpu-defs.h:235:9: note: in expansion of macro 'SHIFT_PERCPU_PTR'
235 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~~~
kernel/sched/ext/ext.c:5690:53: note: in expansion of macro 'per_cpu_ptr'
5690 | struct scx_dsq_pcpu *pcpu = per_cpu_ptr(dsq->pcpu, cpu);
| ^~~~~~~~~~~
vim +5178 kernel/sched/ext/ext.c
84b1a0ea0b7c23 kernel/sched/ext.c Tejun Heo 2026-03-07 5136
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5137 /*
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5138 * Drain ready tasks from @rq->scx.reject_dsq and reenqueue them so that their
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5139 * owning BPF schedulers choose placement again. Proxy-active tasks remain
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5140 * parked and rearm the retry notification for a later proxy resolution.
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5141 *
4eeabe0a3ef706 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5142 * A task can be re-rejected repeatedly. Reenqueues are bounded per task by
4eeabe0a3ef706 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5143 * SCX_REENQ_MAX_REPEAT in scx_do_enqueue_task(), which ejects the owning
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5144 * scheduler.
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5145 */
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5146 static void scx_reenq_reject(struct rq *rq)
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5147 {
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5148 LIST_HEAD(tasks);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5149 struct task_struct *p, *n;
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5150
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5151 lockdep_assert_rq_held(rq);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5152
4eeabe0a3ef706 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5153 if (list_empty(&rq->scx.reject_dsq.list))
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5154 return;
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5155
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5156 /*
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5157 * Move ready tasks to a private list so a task re-rejected by
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5158 * scx_do_enqueue_task() below isn't revisited this round.
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5159 */
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5160 list_for_each_entry_safe(p, n, &rq->scx.reject_dsq.list, scx.dsq_list.node) {
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5161 u32 reason = p->scx.flags & SCX_TASK_REENQ_REASON_MASK;
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5162
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5163 WARN_ON_ONCE(!reason);
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5164
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5165 if (sched_proxy_exec() && reason == SCX_TASK_REENQ_PROXY) {
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5166 /* Affinity machinery will dequeue and reactivate @p. */
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5167 if (p->migration_pending)
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5168 continue;
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5169
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5170 if (task_on_cpu(rq, p) || task_current_donor(rq, p)) {
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5171 rq->scx.flags |= SCX_RQ_PROXY_RETRY;
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5172 continue;
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5173 }
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5174 } else {
4eeabe0a3ef706 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5175 WARN_ON_ONCE(p->migration_pending);
13ae184e4b8279 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5176 }
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5177
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 @5178 scx_reenq_wait_dispatching(p);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5179 scx_dispatch_dequeue(rq, p);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5180
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5181 list_add_tail(&p->scx.dsq_list.node, &tasks);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5182 }
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5183
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5184 list_for_each_entry_safe(p, n, &tasks, scx.dsq_list.node) {
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5185 list_del_init(&p->scx.dsq_list.node);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5186
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5187 scx_do_enqueue_task(rq, p, SCX_ENQ_REENQ, -1);
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5188 }
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5189 }
cea8b60e4aee04 kernel/sched/ext/ext.c Andrea Righi 2026-09-22 5190
:::::: The code at line 5178 was first introduced by commit
:::::: cea8b60e4aee0435c23d343d31972664c65aa7c3 sched_ext: Move reject DSQ draining into core
:::::: TO: Andrea Righi <arighi@nvidia.com>
:::::: CC: Tejun Heo <tj@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-20 19:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 19:36 [jirislaby:next_master 139/201] kernel/sched/ext/ext.c:5178:17: error: implicit declaration of function 'scx_reenq_wait_dispatching'; did you mean 'scx_wait_dispatching'? 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.