Commit abf8af78 authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker

SUNRPC: Capture signalled RPC tasks

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 6ed2144a
...@@ -185,6 +185,7 @@ DECLARE_EVENT_CLASS(rpc_task_running, ...@@ -185,6 +185,7 @@ DECLARE_EVENT_CLASS(rpc_task_running,
DEFINE_RPC_RUNNING_EVENT(begin); DEFINE_RPC_RUNNING_EVENT(begin);
DEFINE_RPC_RUNNING_EVENT(run_action); DEFINE_RPC_RUNNING_EVENT(run_action);
DEFINE_RPC_RUNNING_EVENT(complete); DEFINE_RPC_RUNNING_EVENT(complete);
DEFINE_RPC_RUNNING_EVENT(signalled);
DEFINE_RPC_RUNNING_EVENT(end); DEFINE_RPC_RUNNING_EVENT(end);
DECLARE_EVENT_CLASS(rpc_task_queued, DECLARE_EVENT_CLASS(rpc_task_queued,
......
...@@ -846,6 +846,8 @@ void rpc_signal_task(struct rpc_task *task) ...@@ -846,6 +846,8 @@ void rpc_signal_task(struct rpc_task *task)
if (!RPC_IS_ACTIVATED(task)) if (!RPC_IS_ACTIVATED(task))
return; return;
trace_rpc_task_signalled(task, task->tk_action);
set_bit(RPC_TASK_SIGNALLED, &task->tk_runstate); set_bit(RPC_TASK_SIGNALLED, &task->tk_runstate);
smp_mb__after_atomic(); smp_mb__after_atomic();
queue = READ_ONCE(task->tk_waitqueue); queue = READ_ONCE(task->tk_waitqueue);
...@@ -949,7 +951,7 @@ static void __rpc_execute(struct rpc_task *task) ...@@ -949,7 +951,7 @@ static void __rpc_execute(struct rpc_task *task)
* clean up after sleeping on some queue, we don't * clean up after sleeping on some queue, we don't
* break the loop here, but go around once more. * break the loop here, but go around once more.
*/ */
dprintk("RPC: %5u got signal\n", task->tk_pid); trace_rpc_task_signalled(task, task->tk_action);
set_bit(RPC_TASK_SIGNALLED, &task->tk_runstate); set_bit(RPC_TASK_SIGNALLED, &task->tk_runstate);
task->tk_rpc_status = -ERESTARTSYS; task->tk_rpc_status = -ERESTARTSYS;
rpc_exit(task, -ERESTARTSYS); rpc_exit(task, -ERESTARTSYS);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment