[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iK=8Z2dznM_SVGtk3NsXu3PK_BOBnCOM2ZgFtKe-mBOyA@mail.gmail.com>
Date: Wed, 13 Apr 2022 10:53:12 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: David Howells <dhowells@...hat.com>
Cc: netdev@...r.kernel.org, Marc Dionne <marc.dionne@...istor.com>,
linux-afs@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net] rxrpc: Restore removed timer deletion
On Wed, Apr 13, 2022 at 10:41 AM David Howells <dhowells@...hat.com> wrote:
>
> Eric Dumazet <edumazet@...gle.com> 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.
>
SGTM, thanks !
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists