diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2018-01-03 23:38:41 +0300 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-01-23 17:44:40 +0300 |
commit | cf08d6f2e6e1b9f177cafbe57e7ad33a76d32c38 (patch) | |
tree | 679853991278da95a96b937fa80ecc3ef199f2da /net | |
parent | 520694496aec9c4f1f69f8400753f04a6ffdbfc5 (diff) | |
download | linux-cf08d6f2e6e1b9f177cafbe57e7ad33a76d32c38.tar.xz |
SUNRPC: task_run_action should display tk_callback
This shows up in every RPC:
kworker/4:1-19772 [004] 3467.373443: rpc_task_run_action: task:4711@2 flags=0e81 state=0005 status=0 action=call_status
kworker/4:1-19772 [004] 3467.373444: rpc_task_run_action: task:4711@2 flags=0e81 state=0005 status=0 action=call_status
What's actually going on is that the first iteration of the RPC
scheduler is invoking the function in tk_callback (in this case,
xprt_timer), then invoking call_status on the next iteration.
Feeding do_action, rather than tk_action, to the "task_run_action"
trace point will now always display the correct FSM step.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/sched.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index b1b49edd7c4d..c292a5e1a70c 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -770,7 +770,7 @@ static void __rpc_execute(struct rpc_task *task) if (do_action == NULL) break; } - trace_rpc_task_run_action(task->tk_client, task, task->tk_action); + trace_rpc_task_run_action(task->tk_client, task, do_action); do_action(task); /* |