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: Yafang Shao <laoar.shao@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
335c997dce
commit
d6f19938eb
@@ -2401,9 +2401,10 @@ int __sk_mem_raise_allocated(struct sock *sk, int size, int amt, int kind)
|
||||
{
|
||||
struct proto *prot = sk->sk_prot;
|
||||
long allocated = sk_memory_allocated_add(sk, amt);
|
||||
bool charged = true;
|
||||
|
||||
if (mem_cgroup_sockets_enabled && sk->sk_memcg &&
|
||||
!mem_cgroup_charge_skmem(sk->sk_memcg, amt))
|
||||
!(charged = mem_cgroup_charge_skmem(sk->sk_memcg, amt)))
|
||||
goto suppress_allocation;
|
||||
|
||||
/* Under limit. */
|
||||
@@ -2461,7 +2462,8 @@ suppress_allocation:
|
||||
return 1;
|
||||
}
|
||||
|
||||
trace_sock_exceed_buf_limit(sk, prot, allocated);
|
||||
if (kind == SK_MEM_SEND || (kind == SK_MEM_RECV && charged))
|
||||
trace_sock_exceed_buf_limit(sk, prot, allocated, kind);
|
||||
|
||||
sk_memory_allocated_sub(sk, amt);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user