aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py
diff options
context:
space:
mode:
authorNeilBrown <[email protected]>2024-06-19 11:05:13 +1000
committerAnna Schumaker <[email protected]>2024-07-08 13:47:24 -0400
commit6258cf25d5e3155c3219ab5a79b970eef7996356 (patch)
tree4766a377f688ce32725fa1aebf927f111c311f2b /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py
parent0e13dd9ea8be46f980a46c3ffd8cb786f3e2fb5b (diff)
SUNRPC: avoid soft lockup when transmitting UDP to reachable server.
Prior to the commit identified below, call_transmit_status() would handle -EPERM and other errors related to an unreachable server by falling through to call_status() which added a 3-second delay and handled the failure as a timeout. Since that commit, call_transmit_status() falls through to handle_bind(). For UDP this moves straight on to handle_connect() and handle_transmit() so we immediately retransmit - and likely get the same error. This results in an indefinite loop in __rpc_execute() which triggers a soft-lockup warning. For the errors that indicate an unreachable server, call_transmit_status() should fall back to call_status() as it did before. This cannot cause the thundering herd that the previous patch was avoiding, as the call_status() will insert a delay. Fixes: ed7dc973bd91 ("SUNRPC: Prevent thundering herd when the socket is not connected") Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Anna Schumaker <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py')
0 files changed, 0 insertions, 0 deletions