Re: [PATCH v9 17/32] timers: Introduce add_timer() variants which modify timer flags

From: Sebastian Siewior
Date: Tue Dec 05 2023 - 13:28:49 EST


On 2023-12-01 10:26:39 [+0100], Anna-Maria Behnsen wrote:
> Timer might be used as pinned timer (using add_timer_on()) and later on as
> non pinned timers using add_timer(). When the NOHZ timer pull at expiry
> model is in place, TIMER_PINNED flag is required to be used whenever a
> timer needs to expire on a dedicated CPU. Flag must no be set, if
> expiration on a dedicated CPU is not required.

Slightly reworded.

| A timer might be used as a pinned timer (using add_timer_on()) and later
| on as non-pinned timer using add_timer(). When the "NOHZ timer pull at
| expiry model" is in place, the TIMER_PINNED flag is required to be used
| whenever a timer needs to expire on a dedicated CPU. Otherwise the flag
| must not be set if expiration on a dedicated CPU is not required.

> add_timer_on()'s behavior will be changed during the preparation patches
> for the NOHZ timer pull at expiry model to unconditionally set TIMER_PINNED
> flag. To be able to reset/set the flag when queueing a timer, two variants
> of add_timer() are introduced.

and here.

| add_timer_on()'s behavior will be changed during the preparation patches
| for the "NOHZ timer pull at expiry model" to unconditionally set
| TIMER_PINNED flag. To be able to clear/ set the flag when queueing a
| timer, two variants of add_timer() are introduced.

I let you be judge of this.

Sebastian