Re: [PATCH net] rxrpc: Restore removed timer deletion
From: David Howells
Date: Wed Apr 13 2022 - 13:41:30 EST
Eric Dumazet <edumazet@xxxxxxxxxx> wrote:
> ok... so we have a timer and a work queue, both activating each other
> in kind of a ping pong ?
Yes. I want to emit regular keepalive pokes.
> Any particular reason not using delayed works ?
Because there's a race between starting the keepalive timer when a new peer is
added and when the keepalive worker is resetting the timer for the next peer
in the list. This is why I'm using timer_reduce(). delayed_work doesn't
currently have such a facility. It's not simple to add because
try_to_grab_pending() as called from mod_delayed_work_on() cancels the timer -
which is not what I want it to do.
David