On Fri, Oct 22, 2021 at 09:43:50AM +0200, Ingo Molnar wrote: > > * Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> wrote: > > > > > > > On 10/18/21 2:23 PM, Stephen Rothwell wrote: > > > Hi all, > > > > > > After merging the tip tree, today's linux-next build (x86_64 allnoconfig) > > > failed like this: > > > > > > arch/x86/kernel/process.c: In function '__get_wchan': > > > arch/x86/kernel/process.c:950:2: error: implicit declaration of function 'stack_trace_save_tsk' [-Werror=implicit-function-declaration] > > > 950 | stack_trace_save_tsk(p, &entry, 1, 0); > > > | ^~~~~~~~~~~~~~~~~~~~ > > > cc1: some warnings being treated as errors > > > > > > Caused by commit > > > > > > bc9bbb81730e ("x86: Fix get_wchan() to support the ORC unwinder") > > > > > > stack_trace_save_tsk() requires CONFIG_STACKTRACE which is not set for > > > this build. > > > > Maybe get_wchan() can be updated to: > > > > unsigned long get_wchan(struct task_struct *p) > > { > > #ifdef CONFIG_STACKTRACE > > unsigned long entry = 0; > > > > stack_trace_save_tsk(p, &entry, 1, 0); > > return entry; > > #else /* CONFIG_STACKTRACE */ > > return 0; > > #endif > > } > > And repeat the same ugliness in every single function that happens to use > the stack_trace_save_tsk() API?? > > The correct solution is to define stack_trace_save_tsk() in the > !CONFIG_STACKTRACE case too, as the patch below does. That doesn't make sense for x86. We have an unconditional unwinder present. I've got these, meant to post them later today: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/log/?h=sched/wchan