Messages in this thread |  | | Subject | Re: UML time-travel warning from __run_timers | From | Johannes Berg <> | Date | Sat, 02 Apr 2022 16:17:25 +0200 |
| |
On Sat, 2022-04-02 at 16:09 +0200, Johannes Berg wrote: > > (I put a WARN_ON into get_timer_cpu_base() and get_timer_this_cpu_base() > in the if, and it never triggered; I guess my config has something that > creates a deferrable timer, so it didn't trigger, but I didn't check > that now.) >
OK, so FWIW, I checked that now, and I have e.g. CONFIG_WQ_WATCHDOG enabled, which makes a deferrable timer:
static void wq_watchdog_init(void) { timer_setup(&wq_watchdog_timer, wq_watchdog_timer_fn, TIMER_DEFERRABLE);
but I think a bunch of other (networking) things too that end up using a TIMER_DEFERRABLE timer, via workqueues.
But maybe this would also happen if it was used just a single time, since the timer would run & go away, leaving base->next_expiry never to change again? But the WQ watchdog and also neigh_managed_work() are periodic.
johannes
|  |