rxrpc: Move the client conn cache management to the I/O thread
Move the management of the client connection cache to the I/O thread rather than managing it from the namespace as an aggregate across all the local endpoints within the namespace. This will allow a load of locking to be got rid of in a future patch as only the I/O thread will be looking at the this. The downside is that the total number of cached connections on the system can get higher because the limit is now per-local rather than per-netns. We can, however, keep the number of client conns in use across the entire netfs and use that to reduce the expiration time of idle connection. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org
This commit is contained in:
@@ -435,6 +435,10 @@ int rxrpc_io_thread(void *data)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (test_and_clear_bit(RXRPC_CLIENT_CONN_REAP_TIMER,
|
||||
&local->client_conn_flags))
|
||||
rxrpc_discard_expired_client_conns(local);
|
||||
|
||||
/* Deal with calls that want immediate attention. */
|
||||
if ((call = list_first_entry_or_null(&local->call_attend_q,
|
||||
struct rxrpc_call,
|
||||
|
||||
Reference in New Issue
Block a user