[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87bjl186a3.ffs@tglx>
Date: Mon, 17 Nov 2025 08:31:00 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: "enlin.mu" <enlin.mu@...ux.dev>, anna-maria@...utronix.de,
frederic@...nel.org, linux-kernel@...r.kernel.org, enlin.mu@...soc.com
Subject: Re: [PATCH V2] hrtimer: Check running timer state
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
Powered by blists - more mailing lists