Hi, On 1/8/2025 3:29 PM, Sebastian Andrzej Siewior wrote: > On 2025-01-08 09:24:02 [+0800], Hou Tao wrote: >> @Sebastian >> Is it possible that softirq_expiry_lock is changed to a raw-spin-lock >> instead ? > No. The point is to PI-boost the timer-task by the task that is > canceling the timer. This is possible if the timer-task got preempted by > the canceling task - both can't be migrated to another CPU and if the > canceling task has higher priority then it will continue to spin and > live lock the system. > Making the expire lock raw would also force every timer to run with > disabled interrupts which would not allow to acquire any spinlock_t > locks. Thanks for the explanation. However I still can not understand why making the expire lock raw will force every timer to run with disabled interrupt. In my simple understanding, hrtimer_cpu_base_lock_expiry() doesn't disable the irq. Do you mean if change the expire lock to raw, it also needs to disable the irq to prevent something from happening, right ? Also does the raw spinlock have the PI-boost functionality ? > > Sebastian > > .