答复: 答复: 答复: 答复: [PATCH] kdb: Fix the deadlock issue in KDB debugging.

From: Liuye
Date: Tue Mar 12 2024 - 21:23:30 EST


>On Tue, Mar 12, 2024 at 10:04:54AM +0000, Liuye wrote:
>> >On Tue, Mar 12, 2024 at 08:37:11AM +0000, Liuye wrote:
>> >> I know that you said schedule_work is not NMI save, which is the
>> >> first issue. Perhaps it can be fixed using irq_work_queue. But even
>> >> if irq_work_queue is used to implement it, there will still be a
>> >> deadlock problem because slave cpu1 still has not released the
>> >> running queue lock of master CPU0.
>> >
>> >This doesn't sound right to me. Why do you think CPU1 won't release
>> >the run queue lock?
>>
>> In this example, CPU1 is waiting for CPU0 to release dbg_slave_lock.
>
>That shouldn't be a problem. CPU0 will have released that lock by the time the irq work is dispatched.

Release dbg_slave_lock in CPU0. Before that, shcedule_work needs to be handled, and we are back to the previous issue.