[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <32423b7c0e3a490093ceaca750e8669ac67902c6.camel@sipsolutions.net>
Date: Sun, 03 Apr 2022 19:13:19 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Thomas Gleixner <tglx@...utronix.de>,
Vincent Whitchurch <vincent.whitchurch@...s.com>
Cc: linux-um@...ts.infradead.org, linux-kernel@...r.kernel.org,
Anna-Maria Gleixner <anna-maria@...utronix.de>,
Frederic Weisbecker <frederic@...nel.org>
Subject: Re: UML time-travel warning from __run_timers
On Sun, 2022-04-03 at 18:18 +0200, Thomas Gleixner wrote:
> On Sat, Apr 02 2022 at 16:09, Johannes Berg wrote:
> > At init, we get
> >
> > init_timer_cpu(0) base 0 clk=0xffff8ad0, next_expiry=0x13fff8acf
> > init_timer_cpu(0) base 1 clk=0xffff8ad0, next_expiry=0x13fff8acf
> >
> > which makes sense, jiffies is set up to wrap very quickly after boot.
> >
> > The warning triggers when we have jiffies=0x13fff9600, so it's just
> > after the "next_expiry", so in this code:
>
> which does not make sense.
If you say so, I have no idea :)
> If next_expiry is 0x13fff8acf and jiffies
> advanced to 0x13fff9600 when the warning triggered, then either it
> missed to expire the timer at 0x13fff8acf or it failed to recalculate
> next_expiry.
There was no timer. If there's ever a timer on this base (BASE_DEF) then
this doesn't happen.
So it has to be the latter, but I'm trying to understand in the code
where it would*ever* recalculate next_expiry if it in fact never
expires?
> Could you enable all [hr]timer tracepoints on the kernel command line,
> set panic on warn and ftrace_dump_on_oops which should spill out the
> tracebuffer on the console and provide the output. That should at least
> give us an hint what's going on.
>
Sure, but since we simulate ~50 days of uptime, that's a massive number
of events and lots of them are not there:
https://p.sipsolutions.net/fb491cbbde82c600.txt
johannes
Powered by blists - more mailing lists