SUNRPC: task_run_action should display tk_callback
authorChuck Lever <chuck.lever@oracle.com>
Wed, 3 Jan 2018 20:38:41 +0000 (15:38 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 23 Jan 2018 14:44:40 +0000 (09:44 -0500)
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>
net/sunrpc/sched.c

index b1b49edd7c4d16429250b34d819a1ea81ff5964e..c292a5e1a70ccf192e31061d7242700af8036246 100644 (file)
@@ -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);
 
                /*