On 12/17/20 7:04 PM, John David Anglin wrote: > This seems to be a hack to work around a race in p->state. Don't see this check in other implementations. In arch/x86/kernel/process.c: } while (count++ < 16 && p->state != TASK_RUNNING); But I think we should implement CONFIG_THREAD_INFO_IN_TASK and thus try_get_task_stack() too.. Helge > > On 2020-12-17 11:57 a.m., Helge Deller wrote: >> Signed-off-by: Helge Deller <deller@xxxxxx> >> >> diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c >> index a92a23d6acd9..fda1c1a6a444 100644 >> --- a/arch/parisc/kernel/process.c >> +++ b/arch/parisc/kernel/process.c >> @@ -260,6 +260,8 @@ get_wchan(struct task_struct *p) >> do { >> if (unwind_once(&info) < 0) >> return 0; >> + if (p->state == TASK_RUNNING) >> + return 0; >> ip = info.ip; >> if (!in_sched_functions(ip)) >> return ip; > > Dave >