Fix: net: expose sk wmem in sock_exceed_buf_limit tracepoint (4.19)
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 7 Sep 2018 16:21:12 +0000 (12:21 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 1 Oct 2018 17:56:17 +0000 (13:56 -0400)
See upstream commit:

  commit d6f19938eb031ee2158272757db33258153ae59c
  Author: Yafang Shao <laoar.shao@gmail.com>
  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 <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/events/lttng-module/sock.h

index 4bde039584046b85e1f09b9c325c5412f6c40832..a1032b3390faa4f94591e9d5445c428b48c5a515 100644 (file)
@@ -22,7 +22,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,
 
This page took 0.026791 seconds and 4 git commands to generate.