aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/netdev-times.py
diff options
context:
space:
mode:
authorNeilBrown <[email protected]>2018-02-14 07:17:30 +1100
committerGreg Kroah-Hartman <[email protected]>2018-02-16 15:19:10 +0100
commite3382addbc0a5af8640db4f1f3b46ff22ad74400 (patch)
treee6e64a49963eda3369a652d5cfd79aace53390cf /tools/perf/scripts/python/netdev-times.py
parentd7ce88fbb5dbc2263eb3a6a0c9888c17d65ffa97 (diff)
staging: lustre: simplify waiting in ldlm_completion_ast()
If a signal-callback (lwi_on_signal) is set without lwi_allow_intr, as is the case in ldlm_completion_ast(), the behavior depends on the timeout set. If a timeout is set, then signals are ignored. If the timeout is reached, the timeout handler is called. If the timeout handler return 0, which ldlm_expired_completion_wait() always does, the l_wait_event() switches to exactly the behavior if no timeout was set. If no timeout is set, then "fatal" signals are not ignored. If one arrives the callback is run, but as the callback is empty in this case, that is not relevant. This can be simplified to: if a timeout is wanted wait_event_idle_timeout() if that timed out, call the timeout handler l_wait_event_abortable() i.e. the code always waits indefinitely. Sometimes it performs a non-abortable wait first. Sometimes it doesn't. But it only aborts before the condition is true if it is signaled. This doesn't quite agree with the comments and debug messages. Now that we call the timeout handler (ldlm_expired_completion_wait()) wait directly, we can pass the two args directly rather then using a special-purpose struct. Reviewed-by: Patrick Farrell <[email protected]> Reviewed-by: James Simmons <[email protected]> Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions