Skip to content

Commit

Permalink
rxrpc: Use call_rcu_flush() instead of call_rcu()
Browse files Browse the repository at this point in the history
call_rcu() changes to save power may cause slowness. Use the
call_rcu_flush() API instead which reverts to the old behavior.

We find this via inspection that the RCU callback does a wakeup of a
thread. This usually indicates that something is waiting on it. To be
safe, let us use call_rcu_flush() here instead.

Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
  • Loading branch information
joelagnel authored and chantra committed Oct 20, 2022
1 parent 9aa922e commit 755c46c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/rxrpc/conn_object.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ void rxrpc_kill_connection(struct rxrpc_connection *conn)
* must carry a ref on the connection to prevent us getting here whilst
* it is queued or running.
*/
call_rcu(&conn->rcu, rxrpc_destroy_connection);
call_rcu_flush(&conn->rcu, rxrpc_destroy_connection);
}

/*
Expand Down

0 comments on commit 755c46c

Please sign in to comment.