mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 03:49:32 +02:00
lttng hasn't released 2.10.9, but the stable/2.10 branch contains changes that we need to build against the 5.0 kernel. We add them here as patches, and we can drop them in the future when lttng is updated. (From OE-Core rev: f8bcf3486d44ebd867e9089d4dbd3b56726c9075) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
187 lines
5.9 KiB
Diff
187 lines
5.9 KiB
Diff
From 89f0be35e1baf411df6852014013ac64ad1bbcf8 Mon Sep 17 00:00:00 2001
|
|
From: Michael Jeanson <mjeanson@efficios.com>
|
|
Date: Wed, 9 Jan 2019 14:59:16 -0500
|
|
Subject: [PATCH 6/9] Fix: Replace pointer values with task->tk_pid and
|
|
rpc_clnt->cl_clid
|
|
|
|
Introduced in v3.12.
|
|
|
|
See upstream commit :
|
|
|
|
commit 92cb6c5be8134db6f7c38f25f6afd13e444cebaf
|
|
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
|
|
Date: Wed Sep 4 22:09:50 2013 -0400
|
|
|
|
SUNRPC: Replace pointer values with task->tk_pid and rpc_clnt->cl_clid
|
|
|
|
Instead of the pointer values, use the task and client identifier values
|
|
for tracing purposes.
|
|
|
|
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
|
|
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
|
|
|
Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/89f0be35e1baf411df6852014013ac64ad1bbcf8
|
|
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
---
|
|
instrumentation/events/lttng-module/rpc.h | 108 ++++++++++++++++++++--
|
|
1 file changed, 102 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
|
|
index b9e45fe..a4ac557 100644
|
|
--- a/instrumentation/events/lttng-module/rpc.h
|
|
+++ b/instrumentation/events/lttng-module/rpc.h
|
|
@@ -8,6 +8,20 @@
|
|
#include <linux/sunrpc/sched.h>
|
|
#include <linux/sunrpc/clnt.h>
|
|
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
|
|
+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
|
|
+
|
|
+ TP_PROTO(struct rpc_task *task),
|
|
+
|
|
+ TP_ARGS(task),
|
|
+
|
|
+ TP_FIELDS(
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
+ ctf_integer(int, status, task->tk_status)
|
|
+ )
|
|
+)
|
|
+#else
|
|
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
|
|
|
|
TP_PROTO(struct rpc_task *task),
|
|
@@ -20,6 +34,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
|
|
ctf_integer(int, status, task->tk_status)
|
|
)
|
|
)
|
|
+#endif
|
|
|
|
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
|
|
TP_PROTO(struct rpc_task *task),
|
|
@@ -40,8 +55,8 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
|
|
TP_ARGS(task),
|
|
|
|
TP_FIELDS(
|
|
- ctf_integer_hex(const struct rpc_task *, task, task)
|
|
- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
ctf_integer(int, status, task->tk_status)
|
|
)
|
|
)
|
|
@@ -53,8 +68,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
|
|
TP_ARGS(task, action),
|
|
|
|
TP_FIELDS(
|
|
- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
|
|
- ctf_integer_hex(const struct rpc_task *, task, task)
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
ctf_integer_hex(const void *, action, action)
|
|
ctf_integer(unsigned long, runstate, task->tk_runstate)
|
|
ctf_integer(int, status, task->tk_status)
|
|
@@ -90,8 +105,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
|
|
TP_ARGS(task, q),
|
|
|
|
TP_FIELDS(
|
|
- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
|
|
- ctf_integer_hex(const struct rpc_task *, task, task)
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
ctf_integer(unsigned long, timeout, task->tk_timeout)
|
|
ctf_integer(unsigned long, runstate, task->tk_runstate)
|
|
ctf_integer(int, status, task->tk_status)
|
|
@@ -114,6 +129,87 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
|
|
TP_ARGS(task, q)
|
|
)
|
|
|
|
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
|
|
+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
|
|
+ TP_PROTO(struct rpc_task *task, int status),
|
|
+
|
|
+ TP_ARGS(task, status),
|
|
+
|
|
+ TP_FIELDS(
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
+ ctf_integer(int, status, status)
|
|
+ )
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
|
|
+
|
|
+ TP_ARGS(clnt, task, action),
|
|
+
|
|
+ TP_FIELDS(
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
+ ctf_integer_hex(const void *, action, action)
|
|
+ ctf_integer(unsigned long, runstate, task->tk_runstate)
|
|
+ ctf_integer(int, status, task->tk_status)
|
|
+ ctf_integer(unsigned short, flags, task->tk_flags)
|
|
+ )
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
|
|
+
|
|
+ TP_ARGS(clnt, task, action)
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
|
|
+
|
|
+ TP_ARGS(clnt, task, action)
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
|
|
+
|
|
+ TP_ARGS(clnt, task, action)
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
|
|
+
|
|
+ TP_ARGS(clnt, task, q),
|
|
+
|
|
+ TP_FIELDS(
|
|
+ ctf_integer(unsigned int, task_id, task->tk_pid)
|
|
+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
|
|
+ ctf_integer(unsigned long, timeout, task->tk_timeout)
|
|
+ ctf_integer(unsigned long, runstate, task->tk_runstate)
|
|
+ ctf_integer(int, status, task->tk_status)
|
|
+ ctf_integer(unsigned short, flags, task->tk_flags)
|
|
+ ctf_string(q_name, rpc_qname(q))
|
|
+ )
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
|
|
+
|
|
+ TP_ARGS(clnt, task, q)
|
|
+)
|
|
+
|
|
+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
|
|
+
|
|
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
|
|
+
|
|
+ TP_ARGS(clnt, task, q)
|
|
+)
|
|
+
|
|
#else
|
|
LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
|
|
TP_PROTO(struct rpc_task *task, int status),
|
|
--
|
|
2.19.1
|
|
|