Re: [PATCH next v1 1/2] dump_stack: move cpu lock to printk.c
From: John Ogness
Date: Tue Jun 01 2021 - 03:37:12 EST
On 2021-06-01, John Ogness <john.ogness@xxxxxxxxxxxxx> wrote:
>> Is there any particular reason this does
>>
>> preempt_disable();
>> cpu = smp_processor_id();
>> local_irq_safe();
>>
>> instead of
>>
>> local_irq_safe();
>> cpu = raw_smp_processor_id();
>>
>> ?
>
> If the lock is owned by another CPU, there is no need to disable
> interrupts for this CPU. (The local_irq_save() is conditional.)
The cpu lock implementation from dump_stack() also keeps preemption
continually enabled while spinning. I used the cpu lock implementation
from PREEMPT_RT. But for my v2 I will adopt the same ordering from
dump_stack(), as you are suggesting.
Thanks for pointing that out.
John Ogness