]>
Commit | Line | Data |
---|---|---|
cf47fa99 JR |
1 | From 53f9bf806271d7bd38595dfc2eddbeb668eb842e 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 | --- | |
26 | instrumentation/events/lttng-module/sock.h | 23 +++++++++++++++++++++- | |
27 | 1 file changed, 22 insertions(+), 1 deletion(-) | |
28 | ||
29 | diff --git a/instrumentation/events/lttng-module/sock.h b/instrumentation/events/lttng-module/sock.h | |
30 | index 4bde039..a1032b3 100644 | |
31 | --- a/instrumentation/events/lttng-module/sock.h | |
32 | +++ b/instrumentation/events/lttng-module/sock.h | |
33 | @@ -22,7 +22,28 @@ LTTNG_TRACEPOINT_EVENT(sock_rcvqueue_full, | |
34 | ) | |
35 | ) | |
36 | ||
37 | -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) | |
38 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) | |
39 | + | |
40 | +LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit, | |
41 | + | |
42 | + TP_PROTO(struct sock *sk, struct proto *prot, long allocated, int kind), | |
43 | + | |
44 | + TP_ARGS(sk, prot, allocated, kind), | |
45 | + | |
46 | + TP_FIELDS( | |
47 | + ctf_string(name, prot->name) | |
48 | + ctf_array(long, sysctl_mem, prot->sysctl_mem, 3) | |
49 | + ctf_integer(long, allocated, allocated) | |
50 | + ctf_integer(int, sysctl_rmem, sk_get_rmem0(sk, prot)) | |
51 | + ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc)) | |
52 | + ctf_integer(int, sysctl_wmem, sk_get_wmem0(sk, prot)) | |
53 | + ctf_integer(int, wmem_alloc, refcount_read(&sk->sk_wmem_alloc)) | |
54 | + ctf_integer(int, wmem_queued, sk->sk_wmem_queued) | |
55 | + ctf_integer(int, kind, kind) | |
56 | + ) | |
57 | +) | |
58 | + | |
59 | +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) | |
60 | ||
61 | LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit, | |
62 |