Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 6 Dec 2023 11:26:29 +0100 | From | Sebastian Siewior <> | Subject | Re: [PATCH v9 19/32] timers: add_timer_on(): Make sure TIMER_PINNED flag is set |
| |
On 2023-12-06 10:57:57 [+0100], Anna-Maria Behnsen wrote: > Sebastian Siewior <bigeasy@linutronix.de> writes: > > > On 2023-12-01 10:26:41 [+0100], Anna-Maria Behnsen wrote: > >> When adding a timer to the timer wheel using add_timer_on(), it is an > >> implicitly pinned timer. With the timer pull at expiry time model in place, > >> TIMER_PINNED flag is required to make sure timers end up in proper base. > >> > >> Add TIMER_PINNED flag unconditionally when add_timer_on() is executed. > > > > This is odd. I have some vague memory that this was already the case. > > Otherwise all add_timer_on() users without TIMER_PINNED may get it wrong > > due to optimisation. > > Which optimisation are you talking about? Are you talking about the > heuristic for finding the best CPU in get_target_base()? This heuristic > is not used for add_timer_on().
Yes, true. And nobody probably mixes add_timer_on() and mod_timer().
> Does this makes it a little more clear, why the change is required and > why it is also valid right now?
Yes, all good. Thanks.
> Thanks, > > Anna-Maria
Sebastian
| ![\](/images/icornerr.gif) |