]> code.ossystems Code Review - openembedded-core.git/blob
92e12df1778bd6e415997655bb8bffe56abf15c2
[openembedded-core.git] /
1 From 9e67b4c94b94493123d38379bd9b3eceae23a6f1 Mon Sep 17 00:00:00 2001
2 From: Michael Jeanson <mjeanson@efficios.com>
3 Date: Fri, 7 Sep 2018 12:21:12 -0400
4 Subject: [PATCH] Fix: net: expose sk wmem in sock_exceed_buf_limit tracepoint
5  (4.19)
6
7 See upstream commit:
8
9   commit d6f19938eb031ee2158272757db33258153ae59c
10   Author: Yafang Shao <laoar.shao@gmail.com>
11   Date:   Sun Jul 1 23:31:30 2018 +0800
12
13     net: expose sk wmem in sock_exceed_buf_limit tracepoint
14
15     Currently trace_sock_exceed_buf_limit() only show rmem info,
16     but wmem limit may also be hit.
17     So expose wmem info in this tracepoint as well.
18
19     Regarding memcg, I think it is better to introduce a new tracepoint(if
20     that is needed), i.e. trace_memcg_limit_hit other than show memcg info in
21     trace_sock_exceed_buf_limit.
22
23 Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
24 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
25 Upstream-Status: Backport
26 Signed-off-by: He Zhe <zhe.he@windriver.com>
27 ---
28  instrumentation/events/lttng-module/sock.h | 23 ++++++++++++++++++++++-
29  1 file changed, 22 insertions(+), 1 deletion(-)
30
31 diff --git a/instrumentation/events/lttng-module/sock.h b/instrumentation/events/lttng-module/sock.h
32 index 5cd02ca..cd0c92b 100644
33 --- a/instrumentation/events/lttng-module/sock.h
34 +++ b/instrumentation/events/lttng-module/sock.h
35 @@ -21,7 +21,28 @@ LTTNG_TRACEPOINT_EVENT(sock_rcvqueue_full,
36         )
37  )
38  
39 -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
40 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
41 +
42 +LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit,
43 +
44 +       TP_PROTO(struct sock *sk, struct proto *prot, long allocated, int kind),
45 +
46 +       TP_ARGS(sk, prot, allocated, kind),
47 +
48 +       TP_FIELDS(
49 +               ctf_string(name, prot->name)
50 +               ctf_array(long, sysctl_mem, prot->sysctl_mem, 3)
51 +               ctf_integer(long, allocated, allocated)
52 +               ctf_integer(int, sysctl_rmem, sk_get_rmem0(sk, prot))
53 +               ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc))
54 +               ctf_integer(int, sysctl_wmem, sk_get_wmem0(sk, prot))
55 +               ctf_integer(int, wmem_alloc, refcount_read(&sk->sk_wmem_alloc))
56 +               ctf_integer(int, wmem_queued, sk->sk_wmem_queued)
57 +               ctf_integer(int, kind, kind)
58 +       )
59 +)
60 +
61 +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
62  
63  LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit,
64  
65 -- 
66 2.7.4
67