rxrpc: Fix conn expiry timers
Fix the rxrpc connection expiry timers so that connections for closed
AF_RXRPC sockets get deleted in a more timely fashion, freeing up the
transport UDP port much more quickly.
(1) Replace the delayed work items with work items plus timers so that
timer_reduce() can be used to shorten them and so that the timer
doesn't requeue the work item if the net namespace is dead.
(2) Don't use queue_delayed_work() as that won't alter the timeout if the
timer is already running.
(3) Don't rearm the timers if the network namespace is dead.
Signed-off-by:
David Howells <dhowells@redhat.com>
Showing
- net/rxrpc/af_rxrpc.c 2 additions, 0 deletionsnet/rxrpc/af_rxrpc.c
- net/rxrpc/ar-internal.h 4 additions, 2 deletionsnet/rxrpc/ar-internal.h
- net/rxrpc/conn_client.c 19 additions, 11 deletionsnet/rxrpc/conn_client.c
- net/rxrpc/conn_object.c 17 additions, 11 deletionsnet/rxrpc/conn_object.c
- net/rxrpc/net_ns.c 26 additions, 4 deletionsnet/rxrpc/net_ns.c
Loading
Please register or sign in to comment