diff options
author | David Howells <dhowells@redhat.com> | 2022-10-10 12:55:24 +0300 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2022-12-01 16:36:40 +0300 |
commit | 446b3e14525b477e441a6bb8ce56cea12512acc2 (patch) | |
tree | 50f27ca4bd24f79c2988009ad3c0c0a59835e21a /net/rxrpc/call_object.c | |
parent | a275da62e8c111b897b9cb73eb91df2f4e475ca5 (diff) | |
download | linux-446b3e14525b477e441a6bb8ce56cea12512acc2.tar.xz |
rxrpc: Move packet reception processing into I/O thread
Split the packet input handler to make the softirq side just dump the
received packet into the local endpoint receive queue and then call the
remainder of the input function from the I/O thread.
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Diffstat (limited to 'net/rxrpc/call_object.c')
-rw-r--r-- | net/rxrpc/call_object.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rxrpc/call_object.c b/net/rxrpc/call_object.c index 9cd7e0190ef4..57c8d4cc900a 100644 --- a/net/rxrpc/call_object.c +++ b/net/rxrpc/call_object.c @@ -632,7 +632,7 @@ void rxrpc_cleanup_call(struct rxrpc_call *call) del_timer_sync(&call->timer); cancel_work(&call->processor); - if (in_softirq() || work_busy(&call->processor)) + if (rcu_read_lock_held() || work_busy(&call->processor)) /* Can't use the rxrpc workqueue as we need to cancel/flush * something that may be running/waiting there. */ |