[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200310.153408.209273615201195266.davem@davemloft.net>
Date: Tue, 10 Mar 2020 15:34:08 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: shakeelb@...gle.com
Cc: edumazet@...gle.com, guro@...com, hannes@...xchg.org,
mhocko@...nel.org, gthelen@...gle.com, akpm@...ux-foundation.org,
kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org,
netdev@...r.kernel.org, linux-mm@...ck.org,
cgroups@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 2/2] net: memcg: late association of sock to memcg
From: Shakeel Butt <shakeelb@...gle.com>
Date: Mon, 9 Mar 2020 22:16:06 -0700
> If a TCP socket is allocated in IRQ context or cloned from unassociated
> (i.e. not associated to a memcg) in IRQ context then it will remain
> unassociated for its whole life. Almost half of the TCPs created on the
> system are created in IRQ context, so, memory used by such sockets will
> not be accounted by the memcg.
>
> This issue is more widespread in cgroup v1 where network memory
> accounting is opt-in but it can happen in cgroup v2 if the source socket
> for the cloning was created in root memcg.
>
> To fix the issue, just do the association of the sockets at the accept()
> time in the process context and then force charge the memory buffer
> already used and reserved by the socket.
>
> Signed-off-by: Shakeel Butt <shakeelb@...gle.com>
Applied and queued up for -stable.
Powered by blists - more mailing lists