rxrpc: Kill the client connection bundle concept
Kill off the concept of maintaining a bundle of connections to a particular target service to increase the number of call slots available for any beyond four for that service (there are four call slots per connection). This will make cleaning up the connection handling code easier and facilitate removal of the rxrpc_transport struct. Bundling can be reintroduced later if necessary. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -80,7 +80,8 @@ static struct rxrpc_local *rxrpc_alloc_local(const struct sockaddr_rxrpc *srx)
|
||||
skb_queue_head_init(&local->accept_queue);
|
||||
skb_queue_head_init(&local->reject_queue);
|
||||
skb_queue_head_init(&local->event_queue);
|
||||
mutex_init(&local->conn_lock);
|
||||
local->client_conns = RB_ROOT;
|
||||
spin_lock_init(&local->client_conns_lock);
|
||||
spin_lock_init(&local->lock);
|
||||
rwlock_init(&local->services_lock);
|
||||
local->debug_id = atomic_inc_return(&rxrpc_debug_id);
|
||||
@@ -294,6 +295,7 @@ static void rxrpc_local_destroyer(struct rxrpc_local *local)
|
||||
list_del_init(&local->link);
|
||||
mutex_unlock(&rxrpc_local_mutex);
|
||||
|
||||
ASSERT(RB_EMPTY_ROOT(&local->client_conns));
|
||||
ASSERT(list_empty(&local->services));
|
||||
|
||||
if (socket) {
|
||||
|
Reference in New Issue
Block a user