diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2018-01-03 15:38:41 -0500 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-01-23 09:44:40 -0500 |
commit | cf08d6f2e6e1b9f177cafbe57e7ad33a76d32c38 (patch) | |
tree | 679853991278da95a96b937fa80ecc3ef199f2da | |
parent | 520694496aec9c4f1f69f8400753f04a6ffdbfc5 (diff) | |
download | op-kernel-dev-cf08d6f2e6e1b9f177cafbe57e7ad33a76d32c38.zip op-kernel-dev-cf08d6f2e6e1b9f177cafbe57e7ad33a76d32c38.tar.gz |
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>
-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 b1b49ed..c292a5e 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); /* |