Re: [PATCH] parisc: Drop out of get_whan() if task is running again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>





[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux