From 9e67b4c94b94493123d38379bd9b3eceae23a6f1 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Fri, 7 Sep 2018 12:21:12 -0400 Subject: [PATCH] Fix: net: expose sk wmem in sock_exceed_buf_limit tracepoint (4.19) See upstream commit: commit d6f19938eb031ee2158272757db33258153ae59c Author: Yafang Shao Date: Sun Jul 1 23:31:30 2018 +0800 net: expose sk wmem in sock_exceed_buf_limit tracepoint Currently trace_sock_exceed_buf_limit() only show rmem info, but wmem limit may also be hit. So expose wmem info in this tracepoint as well. Regarding memcg, I think it is better to introduce a new tracepoint(if that is needed), i.e. trace_memcg_limit_hit other than show memcg info in trace_sock_exceed_buf_limit. Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers Upstream-Status: Backport Signed-off-by: He Zhe --- instrumentation/events/lttng-module/sock.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/instrumentation/events/lttng-module/sock.h b/instrumentation/events/lttng-module/sock.h index 5cd02ca..cd0c92b 100644 --- a/instrumentation/events/lttng-module/sock.h +++ b/instrumentation/events/lttng-module/sock.h @@ -21,7 +21,28 @@ LTTNG_TRACEPOINT_EVENT(sock_rcvqueue_full, ) ) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) + +LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit, + + TP_PROTO(struct sock *sk, struct proto *prot, long allocated, int kind), + + TP_ARGS(sk, prot, allocated, kind), + + TP_FIELDS( + ctf_string(name, prot->name) + ctf_array(long, sysctl_mem, prot->sysctl_mem, 3) + ctf_integer(long, allocated, allocated) + ctf_integer(int, sysctl_rmem, sk_get_rmem0(sk, prot)) + ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc)) + ctf_integer(int, sysctl_wmem, sk_get_wmem0(sk, prot)) + ctf_integer(int, wmem_alloc, refcount_read(&sk->sk_wmem_alloc)) + ctf_integer(int, wmem_queued, sk->sk_wmem_queued) + ctf_integer(int, kind, kind) + ) +) + +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit, -- 2.7.4