sched_ext: Build fix on !CONFIG_STACKTRACE[_SUPPORT]
scx_dump_task() uses stack_trace_save_tsk() which is only available when CONFIG_STACKTRACE. Make CONFIG_SCHED_CLASS_EXT select CONFIG_STACKTRACE if the support is available and skip capturing stack trace if !CONFIG_STACKTRACE. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202407161844.reewQQrR-lkp@intel.com/ Acked-by: David Vernet <void@manifault.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
958b189184
commit
a2f4b16e73
@ -136,6 +136,7 @@ config SCHED_CORE
|
|||||||
config SCHED_CLASS_EXT
|
config SCHED_CLASS_EXT
|
||||||
bool "Extensible Scheduling Class"
|
bool "Extensible Scheduling Class"
|
||||||
depends on BPF_SYSCALL && BPF_JIT && DEBUG_INFO_BTF
|
depends on BPF_SYSCALL && BPF_JIT && DEBUG_INFO_BTF
|
||||||
|
select STACKTRACE if STACKTRACE_SUPPORT
|
||||||
help
|
help
|
||||||
This option enables a new scheduler class sched_ext (SCX), which
|
This option enables a new scheduler class sched_ext (SCX), which
|
||||||
allows scheduling policies to be implemented as BPF programs to
|
allows scheduling policies to be implemented as BPF programs to
|
||||||
|
@ -4330,7 +4330,7 @@ static void scx_dump_task(struct seq_buf *s, struct scx_dump_ctx *dctx,
|
|||||||
static unsigned long bt[SCX_EXIT_BT_LEN];
|
static unsigned long bt[SCX_EXIT_BT_LEN];
|
||||||
char dsq_id_buf[19] = "(n/a)";
|
char dsq_id_buf[19] = "(n/a)";
|
||||||
unsigned long ops_state = atomic_long_read(&p->scx.ops_state);
|
unsigned long ops_state = atomic_long_read(&p->scx.ops_state);
|
||||||
unsigned int bt_len;
|
unsigned int bt_len = 0;
|
||||||
|
|
||||||
if (p->scx.dsq)
|
if (p->scx.dsq)
|
||||||
scnprintf(dsq_id_buf, sizeof(dsq_id_buf), "0x%llx",
|
scnprintf(dsq_id_buf, sizeof(dsq_id_buf), "0x%llx",
|
||||||
@ -4355,7 +4355,9 @@ static void scx_dump_task(struct seq_buf *s, struct scx_dump_ctx *dctx,
|
|||||||
ops_dump_exit();
|
ops_dump_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_STACKTRACE
|
||||||
bt_len = stack_trace_save_tsk(p, bt, SCX_EXIT_BT_LEN, 1);
|
bt_len = stack_trace_save_tsk(p, bt, SCX_EXIT_BT_LEN, 1);
|
||||||
|
#endif
|
||||||
if (bt_len) {
|
if (bt_len) {
|
||||||
dump_newline(s);
|
dump_newline(s);
|
||||||
dump_stack_trace(s, " ", bt, bt_len);
|
dump_stack_trace(s, " ", bt, bt_len);
|
||||||
|
Loading…
Reference in New Issue
Block a user