Re: [PATCH V2] hrtimer: Check running timer state
From: Thomas Gleixner
Date: Mon Nov 17 2025 - 02:31:14 EST
On Mon, Nov 17 2025 at 07:58, enlin mu wrote:
> On 2025/11/15 02:34, Thomas Gleixner wrote:
> The serial_timer on cpu6 has not been properly cancelled.
> The serial_timer is once again entered into the active queue on cpu7.
> ---------------------------
> on cpu7
>
> step 1: preempted by hrtimer_usb
>
> static void __run_hrtimer(.....)
> {
> ......
> base->running = timer; //timer is serial_timer;
>
> .....
> .....
> restart = fn(timer); // fn is serial_timer_handler
> .... ==> irq is enable. serial_timer is preempted by hrtimer_usb
I told you before that enabling interrupts in the callback is
wrong. That's what needs to be fixed.
Run your experimental code with lockdep enabled. That will tell you
what's wrong.
Thanks,
tglx