LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: Michal Hocko <mhocko@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Vladimir Davydov <vdavydov.dev@gmail.com>
Subject: Re: [PATCH] mm:memcg: add __GFP_NOWARN in __memcg_schedule_kmem_cache_create
Date: Wed, 18 Apr 2018 16:41:17 +0900	[thread overview]
Message-ID: <20180418074117.GA210164@rodete-desktop-imager.corp.google.com> (raw)
In-Reply-To: <20180418072002.GN17484@dhcp22.suse.cz>

On Wed, Apr 18, 2018 at 09:20:02AM +0200, Michal Hocko wrote:
> On Wed 18-04-18 11:29:12, Minchan Kim wrote:
> > If there are heavy memory pressure, page allocation with __GFP_NOWAIT
> > fails easily although it's order-0 request.
> > I got below warning 9 times for normal boot.
> > 
> > [   17.072747] c0 0      <snip >: page allocation failure: order:0, mode:0x2200000(GFP_NOWAIT|__GFP_NOTRACK)
> > < snip >
> > [   17.072789] c0 0      Call trace:
> > [   17.072803] c0 0      [<ffffff8009914da4>] dump_backtrace+0x0/0x4
> > [   17.072813] c0 0      [<ffffff80086bfb5c>] dump_stack+0xa4/0xc0
> > [   17.072822] c0 0      [<ffffff800831a4f8>] warn_alloc+0xd4/0x15c
> > [   17.072829] c0 0      [<ffffff8008318c3c>] __alloc_pages_nodemask+0xf88/0x10fc
> > [   17.072838] c0 0      [<ffffff8008392b34>] alloc_slab_page+0x40/0x18c
> > [   17.072843] c0 0      [<ffffff8008392acc>] new_slab+0x2b8/0x2e0
> > [   17.072849] c0 0      [<ffffff800839220c>] ___slab_alloc+0x25c/0x464
> > [   17.072858] c0 0      [<ffffff8008393dd0>] __kmalloc+0x394/0x498
> > [   17.072865] c0 0      [<ffffff80083a658c>] memcg_kmem_get_cache+0x114/0x2b8
> > [   17.072870] c0 0      [<ffffff8008392f38>] kmem_cache_alloc+0x98/0x3e8
> > [   17.072878] c0 0      [<ffffff8008370be8>] mmap_region+0x3bc/0x8c0
> > [   17.072884] c0 0      [<ffffff80083707fc>] do_mmap+0x40c/0x43c
> > [   17.072890] c0 0      [<ffffff8008343598>] vm_mmap_pgoff+0x15c/0x1e4
> > [   17.072898] c0 0      [<ffffff800814be28>] sys_mmap+0xb0/0xc8
> > [   17.072904] c0 0      [<ffffff8008083730>] el0_svc_naked+0x24/0x28
> > [   17.072908] c0 0      Mem-Info:
> > [   17.072920] c0 0      active_anon:17124 inactive_anon:193 isolated_anon:0
> > [   17.072920] c0 0       active_file:7898 inactive_file:712955 isolated_file:55
> > [   17.072920] c0 0       unevictable:0 dirty:27 writeback:18 unstable:0
> > [   17.072920] c0 0       slab_reclaimable:12250 slab_unreclaimable:23334
> > [   17.072920] c0 0       mapped:19310 shmem:212 pagetables:816 bounce:0
> > [   17.072920] c0 0       free:36561 free_pcp:1205 free_cma:35615
> > [   17.072933] c0 0      Node 0 active_anon:68496kB inactive_anon:772kB active_file:31592kB inactive_file:2851820kB unevictable:0kB isolated(anon):0kB isolated(file):220kB mapped:77240kB dirty:108kB writeback:72kB shmem:848kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
> > [   17.072945] c0 0      DMA free:142188kB min:3056kB low:3820kB high:4584kB active_anon:10052kB inactive_anon:12kB active_file:312kB inactive_file:1412620kB unevictable:0kB writepending:0kB present:1781412kB managed:1604728kB mlocked:0kB slab_reclaimable:3592kB slab_unreclaimable:876kB kernel_stack:400kB pagetables:52kB bounce:0kB free_pcp:1436kB local_pcp:124kB free_cma:142492kB
> > [   17.072949] c0 0      lowmem_reserve[]: 0 1842 1842
> > [   17.072966] c0 0      Normal free:4056kB min:4172kB low:5212kB high:6252kB active_anon:58376kB inactive_anon:760kB active_file:31348kB inactive_file:1439040kB unevictable:0kB writepending:180kB present:2000636kB managed:1923688kB mlocked:0kB slab_reclaimable:45408kB slab_unreclaimable:92460kB kernel_stack:9680kB pagetables:3212kB bounce:0kB free_pcp:3392kB local_pcp:688kB free_cma:0kB
> > [   17.072971] c0 0      lowmem_reserve[]: 0 0 0
> > [   17.072982] c0 0      DMA: 0*4kB 0*8kB 1*16kB (C) 0*32kB 0*64kB 0*128kB 1*256kB (C) 1*512kB (C) 0*1024kB 1*2048kB (C) 34*4096kB (C) = 142096kB
> > [   17.073024] c0 0      Normal: 228*4kB (UMEH) 172*8kB (UMH) 23*16kB (UH) 24*32kB (H) 5*64kB (H) 1*128kB (H) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3872kB
> > [   17.073069] c0 0      721350 total pagecache pages
> > [   17.073073] c0 0      0 pages in swap cache
> > [   17.073078] c0 0      Swap cache stats: add 0, delete 0, find 0/0
> > [   17.073081] c0 0      Free swap  = 0kB
> > [   17.073085] c0 0      Total swap = 0kB
> > [   17.073089] c0 0      945512 pages RAM
> > [   17.073093] c0 0      0 pages HighMem/MovableOnly
> > [   17.073097] c0 0      63408 pages reserved
> > [   17.073100] c0 0      51200 pages cma reserved
> > 
> > Let's not make user scared.
> 
> This is not a proper explanation. So what exactly happens when this
> allocation fails? I would suggest something like the following
> "
> __memcg_schedule_kmem_cache_create tries to create a shadow slab cache
> and the worker allocation failure is not really critical because we will
> retry on the next kmem charge. We might miss some charges but that
> shouldn't be critical. The excessive allocation failure report is not
> very much helpful. Replace it with a rate limited single line output so
> that we know that there is a lot of these failures and that we need to
> do something about it in future.
> "
> 
> With the last part to be implemented of course.

If you want to see warning and catch on it in future, I don't see any reason
to change it. Because I didn't see any excessive warning output that it could
make system slow unless we did ratelimiting.

It was a just report from non-MM guys who have a concern that somethings
might go wrong on the system. I just wanted them relax since it's not
critical.

  reply	other threads:[~2018-04-18  7:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-18  2:29 Minchan Kim
2018-04-18  2:56 ` David Rientjes
2018-04-18  3:08 ` Matthew Wilcox
2018-04-18  4:16   ` David Rientjes
2018-04-18  7:09   ` Michal Hocko
2018-04-18  7:20 ` Michal Hocko
2018-04-18  7:41   ` Minchan Kim [this message]
2018-04-18  7:54     ` Michal Hocko
2018-04-18 13:23       ` Minchan Kim
2018-04-18 13:27         ` Michal Hocko
2018-04-18 18:58           ` David Rientjes
2018-04-19  6:40             ` Michal Hocko
2018-04-20  5:42               ` Minchan Kim
2018-04-20  8:09                 ` Michal Hocko
2018-04-18 13:31 ` Matthew Wilcox
2018-04-18 13:39   ` Michal Hocko
2018-04-18 19:05 ` Johannes Weiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180418074117.GA210164@rodete-desktop-imager.corp.google.com \
    --to=minchan@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=vdavydov.dev@gmail.com \
    --subject='Re: [PATCH] mm:memcg: add __GFP_NOWARN in __memcg_schedule_kmem_cache_create' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).