Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [RFC PATCH v2 2/6] timekeeping: Fix cross-timestamp interpolation corner case decision | Date | Fri, 15 Sep 2023 21:02:07 +0200 |
| |
On Fri, Sep 15 2023 at 19:30, Peter Hilber wrote: > On 15.09.23 18:10, Thomas Gleixner wrote: >> So the explanation in the changelog makes some sense, but this code >> without any further explanation just makes my brain explode. >> >> This whole thing screams for a change to cycle_between() so it becomes: >> >> timestamp_in_interval(start, end, ts) >> >> and make start inclusive and not exclusive, no? > > I tried like this in v1 (having 'end' inclusive as well), but didn't like > the effect at the second usage site. > >> >> That's actually correct for both usage sites because for interpolation >> the logic is the same. history_begin->cycles is a valid timestamp, no? > > AFAIU, with the timestamp_in_interval() change, history_begin->cycles would > become a valid timestamp. To me it looks like > adjust_historical_crosststamp() should then work unmodified for now. But > one would have to be careful with the additional corner case in the future. > > So, document the current one-line change, or switch to > timestamp_in_interval()?
I really prefer the consistent function which treats the start as inclusive as that makes the most sense and is self explanatory.
Thanks,
tglx
| |