mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
rxrpc: Remove the _bh annotation from all the spinlocks
None of the spinlocks in rxrpc need a _bh annotation now as the RCU callback routines no longer take spinlocks and the bulk of the packet wrangling code is now run in the I/O thread, not softirq context. 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:
@@ -354,9 +354,9 @@ struct rxrpc_call *rxrpc_new_client_call(struct rxrpc_sock *rx,
|
||||
write_unlock(&rx->call_lock);
|
||||
|
||||
rxnet = call->rxnet;
|
||||
spin_lock_bh(&rxnet->call_lock);
|
||||
spin_lock(&rxnet->call_lock);
|
||||
list_add_tail_rcu(&call->link, &rxnet->calls);
|
||||
spin_unlock_bh(&rxnet->call_lock);
|
||||
spin_unlock(&rxnet->call_lock);
|
||||
|
||||
/* From this point on, the call is protected by its own lock. */
|
||||
release_sock(&rx->sk);
|
||||
@@ -537,7 +537,7 @@ void rxrpc_release_call(struct rxrpc_sock *rx, struct rxrpc_call *call)
|
||||
del_timer_sync(&call->timer);
|
||||
|
||||
/* Make sure we don't get any more notifications */
|
||||
write_lock_bh(&rx->recvmsg_lock);
|
||||
write_lock(&rx->recvmsg_lock);
|
||||
|
||||
if (!list_empty(&call->recvmsg_link)) {
|
||||
_debug("unlinking once-pending call %p { e=%lx f=%lx }",
|
||||
@@ -550,7 +550,7 @@ void rxrpc_release_call(struct rxrpc_sock *rx, struct rxrpc_call *call)
|
||||
call->recvmsg_link.next = NULL;
|
||||
call->recvmsg_link.prev = NULL;
|
||||
|
||||
write_unlock_bh(&rx->recvmsg_lock);
|
||||
write_unlock(&rx->recvmsg_lock);
|
||||
if (put)
|
||||
rxrpc_put_call(call, rxrpc_call_put_unnotify);
|
||||
|
||||
@@ -622,9 +622,9 @@ void rxrpc_put_call(struct rxrpc_call *call, enum rxrpc_call_trace why)
|
||||
ASSERTCMP(call->state, ==, RXRPC_CALL_COMPLETE);
|
||||
|
||||
if (!list_empty(&call->link)) {
|
||||
spin_lock_bh(&rxnet->call_lock);
|
||||
spin_lock(&rxnet->call_lock);
|
||||
list_del_init(&call->link);
|
||||
spin_unlock_bh(&rxnet->call_lock);
|
||||
spin_unlock(&rxnet->call_lock);
|
||||
}
|
||||
|
||||
rxrpc_cleanup_call(call);
|
||||
@@ -706,7 +706,7 @@ void rxrpc_destroy_all_calls(struct rxrpc_net *rxnet)
|
||||
_enter("");
|
||||
|
||||
if (!list_empty(&rxnet->calls)) {
|
||||
spin_lock_bh(&rxnet->call_lock);
|
||||
spin_lock(&rxnet->call_lock);
|
||||
|
||||
while (!list_empty(&rxnet->calls)) {
|
||||
call = list_entry(rxnet->calls.next,
|
||||
@@ -721,12 +721,12 @@ void rxrpc_destroy_all_calls(struct rxrpc_net *rxnet)
|
||||
rxrpc_call_states[call->state],
|
||||
call->flags, call->events);
|
||||
|
||||
spin_unlock_bh(&rxnet->call_lock);
|
||||
spin_unlock(&rxnet->call_lock);
|
||||
cond_resched();
|
||||
spin_lock_bh(&rxnet->call_lock);
|
||||
spin_lock(&rxnet->call_lock);
|
||||
}
|
||||
|
||||
spin_unlock_bh(&rxnet->call_lock);
|
||||
spin_unlock(&rxnet->call_lock);
|
||||
}
|
||||
|
||||
atomic_dec(&rxnet->nr_calls);
|
||||
|
||||
Reference in New Issue
Block a user