On Tue, 2025-07-22 at 11:00 +0200, Antonio Quartulli wrote: > > So I think if anything we should worry about the > > > > if (time_is_after_jiffies(timeout) && > > time_after(timeout, latest_timeout)) > > latest_timeout = timeout; > > > > comparison, but for that just unconditionally setting it to 0 is really > > the wrong thing to do, since it means you compare to an arbitrary time > > zero here? > > We are looking for the maximum timeout, so using 0 (minimum possible > value) as base line should be what we want, no? > > [note: I am assuming 0 is not a possible timeout value] That assumption is wrong, in fact jiffies starts at a slightly negative value (about 5 minutes?) so that a few minutes after boot the time goes to the perfectly valid value zero. And on HZ=1000 32-bit systems, this situation of course reappears every ~49.7 days. > > Alternatively, we can just skip evaluating time_after() when > latest_timeout is 0. But then we'd also have to set it to 1 if a timeout value is actually 0. johannes