[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMZfGtWo0m+6zxG-XWh5fxcV3d4k77P-e37ZAj1f5oDhvZGqUQ@mail.gmail.com>
Date: Sun, 11 Oct 2020 12:42:37 +0800
From: Muchun Song <songmuchun@...edance.com>
To: Randy Dunlap <rdunlap@...radead.org>
Cc: Greg KH <gregkh@...uxfoundation.org>, rafael@...nel.org,
mst@...hat.com, jasowang@...hat.com,
David Miller <davem@...emloft.net>, kuba@...nel.org,
adobriyan@...il.com, Andrew Morton <akpm@...ux-foundation.org>,
Eric Dumazet <edumazet@...gle.com>, kuznet@....inr.ac.ru,
yoshfuji@...ux-ipv6.org, steffen.klassert@...unet.com,
herbert@...dor.apana.org.au, Shakeel Butt <shakeelb@...gle.com>,
Will Deacon <will@...nel.org>, Michal Hocko <mhocko@...e.com>,
Roman Gushchin <guro@...com>, neilb@...e.de, rppt@...nel.org,
Sami Tolvanen <samitolvanen@...gle.com>,
kirill.shutemov@...ux.intel.com, feng.tang@...el.com,
pabeni@...hat.com, Willem de Bruijn <willemb@...gle.com>,
fw@...len.de, gustavoars@...nel.org, pablo@...filter.org,
decui@...rosoft.com, jakub@...udflare.com,
Peter Zijlstra <peterz@...radead.org>,
christian.brauner@...ntu.com, ebiederm@...ssion.com,
Thomas Gleixner <tglx@...utronix.de>, dave@...olabs.net,
Michel Lespinasse <walken@...gle.com>,
Jann Horn <jannh@...gle.com>, chenqiwu@...omi.com,
christophe.leroy@....fr, minchan@...nel.org,
Martin KaFai Lau <kafai@...com>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, linmiaohe@...wei.com,
Kees Cook <keescook@...omium.org>,
LKML <linux-kernel@...r.kernel.org>,
virtualization@...ts.linux-foundation.org,
Networking <netdev@...r.kernel.org>,
linux-fsdevel@...r.kernel.org,
Linux Memory Management List <linux-mm@...ck.org>
Subject: Re: [External] Re: [PATCH] mm: proc: add Sock to /proc/meminfo
On Sun, Oct 11, 2020 at 12:37 AM Randy Dunlap <rdunlap@...radead.org> wrote:
>
> Hi,
>
> On 10/10/20 3:38 AM, Muchun Song wrote:
> > The amount of memory allocated to sockets buffer can become significant.
> > However, we do not display the amount of memory consumed by sockets
> > buffer. In this case, knowing where the memory is consumed by the kernel
> > is very difficult. On our server with 500GB RAM, sometimes we can see
> > 25GB disappear through /proc/meminfo. After our analysis, we found the
> > following memory allocation path which consumes the memory with page_owner
> > enabled.
> >
> > 849698 times:
> > Page allocated via order 3, mask 0x4052c0(GFP_NOWAIT|__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP)
> > __alloc_pages_nodemask+0x11d/0x290
> > skb_page_frag_refill+0x68/0xf0
> > sk_page_frag_refill+0x19/0x70
> > tcp_sendmsg_locked+0x2f4/0xd10
> > tcp_sendmsg+0x29/0xa0
> > sock_sendmsg+0x30/0x40
> > sock_write_iter+0x8f/0x100
> > __vfs_write+0x10b/0x190
> > vfs_write+0xb0/0x190
> > ksys_write+0x5a/0xd0
> > do_syscall_64+0x5d/0x110
> > entry_SYSCALL_64_after_hwframe+0x44/0xa9
> >
> > Signed-off-by: Muchun Song <songmuchun@...edance.com>
> > ---
> > drivers/base/node.c | 2 ++
> > drivers/net/virtio_net.c | 3 +--
> > fs/proc/meminfo.c | 1 +
> > include/linux/mmzone.h | 1 +
> > include/linux/skbuff.h | 43 ++++++++++++++++++++++++++++++++++++++--
> > kernel/exit.c | 3 +--
> > mm/page_alloc.c | 7 +++++--
> > mm/vmstat.c | 1 +
> > net/core/sock.c | 8 ++++----
> > net/ipv4/tcp.c | 3 +--
> > net/xfrm/xfrm_state.c | 3 +--
> > 11 files changed, 59 insertions(+), 16 deletions(-)
>
> Thanks for finding that.
>
> Please update Documentation/filesystems/proc.rst "meminfo" section also.
Will do. Thanks for your suggestions.
>
> --
> ~Randy
>
--
Yours,
Muchun
Powered by blists - more mailing lists