From: Marc Zyngier <marc.zyngier@arm.com>
To: Mark Rutland <mark.rutland@arm.com>,
Mark Langsdorf <mlangsdo@redhat.com>
Cc: Steve Capper <steve.capper@linaro.org>,
Will Deacon <Will.Deacon@arm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
"vishnu.ps@samsung.com" <vishnu.ps@samsung.com>
Subject: Re: Linux 3.19-rc3
Date: Fri, 09 Jan 2015 18:37:36 +0000 [thread overview]
Message-ID: <54B01FF0.3020900@arm.com> (raw)
In-Reply-To: <20150109175702.GA27787@leverpostej>
On 09/01/15 17:57, Mark Rutland wrote:
> On Fri, Jan 09, 2015 at 02:27:06PM +0000, Mark Langsdorf wrote:
>> On 01/09/2015 08:19 AM, Steve Capper wrote:
>>> On 9 January 2015 at 12:13, Mark Rutland <mark.rutland@arm.com> wrote:
>>>> On Thu, Jan 08, 2015 at 12:51:31PM +0000, Mark Langsdorf wrote:
>>>>> I'm consistently getting an out of memory killer triggered when
>>>>> compiling the kernel (make -j 16 -s) on a 16 core ARM64 system
>>>>> with 16 GB of memory. This doesn't happen when running a 3.18
>>>>> kernel.
>>>>>
>>>>> I'm going to start bisecting the failure now, but here's the crash
>>>>> log in case someone can see something obvious in it.
>>>>
>>>> FWIW I've just reproduced this with v3.19-rc3 defconfig +
>>>> CONFIG_ARM64_64K_PAGES=y by attempting a git clone of mainline. My
>>>> system has 16GB of RAM and 6 CPUs.
>>>>
>>>> I have a similarly dodgy looking number of pages reserved
>>>> (18446744073709544451 A.K.A. -7165). Log below.
>>>>
>>>
>>> I think the negative page reserved count is a consequence of another bug.
>>>
>>> We have the following reporting code in lib/show_mem.c:
>>> #ifdef CONFIG_CMA
>>> printk("%lu pages reserved\n", (reserved - totalcma_pages));
>>> printk("%lu pages cma reserved\n", totalcma_pages);
>>> #else
>>>
>>> With totalcma_pages being reported as 8192, that would account for the
>>> -7000ish values reported.
>>>
>>> That change appears to have come from:
>>> 49abd8c lib/show_mem.c: add cma reserved information
>>>
>>> Is the quickest way to exacerbate this OOM a kernel compile?
>>
>> I haven't really tried to characterize this. Compiling a kernel
>> on a 64K page machine causes a failure reasonably quickly and
>> doesn't require a lot of thought. I think that time spent finding
>> a faster reproducer wouldn't pay off.
>
> I wasn't able to trigger the issue again with git, and the only way I've
> managed to trigger the issue is repeatedly building the kernel in a
> loop:
>
> while true; do
> git clean -fdx > /dev/null 2>&1;
> make defconfig > /dev/null 2>&1;
> make > /dev/null > 2>&1;
> done
>
> Which after a while died:
>
> -bash: fork: Cannot allocate memory
>
> I didn't see anything interesting in dmesg, but I was able to get at
> /proc/meminfo:
>
> MemTotal: 16695168 kB
> MemFree: 998336 kB
> MemAvailable: 325568 kB
> Buffers: 51200 kB
> Cached: 236224 kB
> SwapCached: 0 kB
> Active: 14970880 kB
> Inactive: 580288 kB
> Active(anon): 14834496 kB
> Inactive(anon): 5760 kB
> Active(file): 136384 kB
> Inactive(file): 574528 kB
> Unevictable: 0 kB
> Mlocked: 0 kB
> SwapTotal: 0 kB
> SwapFree: 0 kB
> Dirty: 448 kB
> Writeback: 0 kB
> AnonPages: 22400 kB
> Mapped: 10240 kB
> Shmem: 8768 kB
> Slab: 63744 kB
> SReclaimable: 27072 kB
> SUnreclaim: 36672 kB
> KernelStack: 1824 kB
> PageTables: 3776 kB
> NFS_Unstable: 0 kB
> Bounce: 0 kB
> WritebackTmp: 0 kB
> CommitLimit: 8347584 kB
> Committed_AS: 50368 kB
> VmallocTotal: 2142764992 kB
> VmallocUsed: 283264 kB
> VmallocChunk: 2142387200 kB
> AnonHugePages: 0 kB
> CmaTotal: 524288 kB
> CmaFree: 128 kB
> HugePages_Total: 0
> HugePages_Free: 0
> HugePages_Rsvd: 0
> HugePages_Surp: 0
> Hugepagesize: 524288 kB
>
> And also magic-sysrq m:
>
> SysRq : Show Memory
> Mem-Info:
> DMA per-cpu:
> CPU 0: hi: 6, btch: 1 usd: 1
> CPU 1: hi: 6, btch: 1 usd: 1
> CPU 2: hi: 6, btch: 1 usd: 1
> CPU 3: hi: 6, btch: 1 usd: 3
> CPU 4: hi: 6, btch: 1 usd: 5
> CPU 5: hi: 6, btch: 1 usd: 5
> Normal per-cpu:
> CPU 0: hi: 6, btch: 1 usd: 0
> CPU 1: hi: 6, btch: 1 usd: 5
> CPU 2: hi: 6, btch: 1 usd: 1
> CPU 3: hi: 6, btch: 1 usd: 5
> CPU 4: hi: 6, btch: 1 usd: 5
> CPU 5: hi: 6, btch: 1 usd: 5
> active_anon:231780 inactive_anon:90 isolated_anon:0
> active_file:2131 inactive_file:8977 isolated_file:0
> unevictable:0 dirty:8 writeback:0 unstable:0
> free:15601 slab_reclaimable:423 slab_unreclaimable:573
> mapped:160 shmem:137 pagetables:59 bounce:0
> free_cma:2
> DMA free:302336kB min:208000kB low:259968kB high:312000kB active_anon:3618432kB inactive_anon:768kB active_file:34432kB inactive_file:131584kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4177920kB managed:4166528kB mlocked:0kB dirty:192kB writeback:0kB mapped:4736kB shmem:1024kB slab_reclaimable:5184kB slab_unreclaimable:3328kB kernel_stack:0kB pagetables:1600kB unstable:0kB bounce:0kB free_cma:128kB writeback_tmp:0kB pages_scanned:1208448 all_unreclaimable? yes
> lowmem_reserve[]: 0 764 764
> Normal free:696128kB min:625472kB low:781824kB high:938176kB active_anon:11215488kB inactive_anon:4992kB active_file:101952kB inactive_file:442944kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:12582912kB managed:12528640kB mlocked:0kB dirty:320kB writeback:0kB mapped:5504kB shmem:7744kB slab_reclaimable:21888kB slab_unreclaimable:33344kB kernel_stack:1840kB pagetables:2176kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:3331648 all_unreclaimable? yes
> lowmem_reserve[]: 0 0 0
> DMA: 42*64kB (MRC) 37*128kB (R) 6*256kB (R) 5*512kB (R) 2*1024kB (R) 3*2048kB (R) 1*4096kB (R) 0*8192kB 1*16384kB (R) 0*32768kB 0*65536kB 0*131072kB 1*262144kB (R) 0*524288kB = 302336kB
> Normal: 280*64kB (MR) 40*128kB (R) 5*256kB (R) 4*512kB (R) 6*1024kB (R) 4*2048kB (R) 1*4096kB (R) 1*8192kB (R) 1*16384kB (R) 1*32768kB (R) 1*65536kB (R) 0*131072kB 0*262144kB 1*524288kB (R) = 691968kB
> Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=524288kB
> 4492 total pagecache pages
> 0 pages in swap cache
> Swap cache stats: add 0, delete 0, find 0/0
> Free swap = 0kB
> Total swap = 0kB
> 261888 pages RAM
> 0 pages HighMem/MovableOnly
> 18446744073709544450 pages reserved
> 8192 pages cma reserved
>
> I also ran ps aux, but I didn't see any stale tasks lying around, nor
> did any remaining tasks seem to account for all that active anonymous
> memory.
>
> I'll see if I can reproduce on x86.
Just as another data point: I'm reproducing the exact same thing (it
only took a couple of kernel builds to kill the box), with almost all
16GB of RAM stuck in Active(anon). I do *not* have CMA enabled though.
I've kicked another run with 4k pages.
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2015-01-09 18:37 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-06 1:46 Linux 3.19-rc3 Linus Torvalds
2015-01-06 2:46 ` Dave Jones
2015-01-06 8:18 ` Takashi Iwai
2015-01-06 9:45 ` Jiri Kosina
2015-01-08 12:51 ` Mark Langsdorf
2015-01-08 13:45 ` Catalin Marinas
2015-01-08 17:29 ` Mark Langsdorf
2015-01-08 17:34 ` Catalin Marinas
2015-01-08 18:48 ` Mark Langsdorf
2015-01-08 19:21 ` Linus Torvalds
2015-01-09 23:27 ` Catalin Marinas
2015-01-10 0:35 ` Kirill A. Shutemov
2015-01-10 2:27 ` Linus Torvalds
2015-01-10 2:51 ` David Lang
2015-01-10 3:06 ` Linus Torvalds
2015-01-10 10:46 ` Andreas Mohr
2015-01-10 19:42 ` Linus Torvalds
2015-01-13 3:33 ` Rik van Riel
2015-01-13 10:28 ` Catalin Marinas
2015-01-10 3:17 ` Tony Luck
2015-01-10 20:16 ` Arnd Bergmann
2015-01-10 21:00 ` Linus Torvalds
2015-01-10 21:36 ` Arnd Bergmann
2015-01-10 21:48 ` Linus Torvalds
2015-01-12 11:37 ` Kirill A. Shutemov
2015-01-12 12:18 ` Catalin Marinas
2015-01-12 13:57 ` Arnd Bergmann
2015-01-12 14:23 ` Catalin Marinas
2015-01-12 15:42 ` Arnd Bergmann
2015-01-12 11:53 ` Catalin Marinas
2015-01-12 13:15 ` Arnd Bergmann
2015-01-08 15:08 ` Michal Hocko
2015-01-08 16:37 ` Mark Langsdorf
2015-01-09 15:56 ` Michal Hocko
2015-01-09 12:13 ` Mark Rutland
2015-01-09 14:19 ` Steve Capper
2015-01-09 14:27 ` Mark Langsdorf
2015-01-09 17:57 ` Mark Rutland
2015-01-09 18:37 ` Marc Zyngier [this message]
2015-01-09 19:43 ` Will Deacon
2015-01-10 3:29 ` Laszlo Ersek
2015-01-10 4:39 ` Linus Torvalds
2015-01-10 13:37 ` Will Deacon
2015-01-10 19:47 ` Laszlo Ersek
2015-01-10 19:56 ` Linus Torvalds
2015-01-10 20:08 ` Laszlo Ersek
2015-01-10 19:51 ` Linus Torvalds
2015-01-12 12:42 ` Will Deacon
2015-01-12 13:22 ` Mark Langsdorf
2015-01-12 19:03 ` Dave Hansen
2015-01-12 19:06 ` Linus Torvalds
2015-01-12 19:07 ` Linus Torvalds
2015-01-12 19:24 ` Will Deacon
2015-01-10 15:22 ` Kyle McMartin
-- strict thread matches above, loose matches on Subject: below --
2015-01-06 4:49 Sedat Dilek
2015-01-06 9:34 ` Sedat Dilek
2015-01-06 9:56 ` Takashi Iwai
2015-01-06 10:06 ` Sedat Dilek
2015-01-06 10:28 ` Takashi Iwai
2015-01-06 10:31 ` Sedat Dilek
2015-01-06 10:37 ` Takashi Iwai
2015-01-06 10:42 ` Sedat Dilek
2015-01-06 9:59 ` Peter Zijlstra
2015-01-06 9:40 ` Peter Zijlstra
2015-01-06 9:42 ` Sedat Dilek
2015-01-06 9:57 ` Sedat Dilek
2015-01-06 10:06 ` Peter Zijlstra
2015-01-06 10:18 ` Sedat Dilek
2015-01-06 11:01 ` Peter Zijlstra
2015-01-06 11:07 ` Kent Overstreet
2015-01-06 11:25 ` Sedat Dilek
2015-01-06 11:40 ` Kent Overstreet
2015-01-06 12:51 ` Sedat Dilek
2015-01-06 11:42 ` Peter Zijlstra
2015-01-06 11:48 ` Peter Zijlstra
2015-01-06 12:01 ` Kent Overstreet
2015-01-06 12:20 ` Peter Zijlstra
2015-01-06 12:45 ` Kent Overstreet
2015-01-06 12:55 ` Peter Hurley
2015-01-06 17:38 ` Paul E. McKenney
2015-01-06 17:58 ` Peter Hurley
2015-01-06 19:25 ` Paul E. McKenney
2015-01-06 19:57 ` Peter Hurley
2015-01-06 20:47 ` Paul E. McKenney
2015-01-20 0:30 ` Paul E. McKenney
2015-01-20 14:03 ` Peter Hurley
2015-02-02 16:11 ` Paul E. McKenney
2015-02-02 19:03 ` Peter Hurley
2015-02-02 19:33 ` Paul E. McKenney
2015-01-06 11:56 ` Kent Overstreet
2015-01-06 12:16 ` Peter Zijlstra
2015-01-06 12:43 ` Kent Overstreet
2015-01-06 13:03 ` Peter Zijlstra
2015-01-06 13:28 ` Kent Overstreet
2015-01-13 15:23 ` Peter Zijlstra
2015-01-06 11:58 ` Peter Zijlstra
2015-01-06 12:18 ` Kent Overstreet
2015-01-16 16:56 ` Peter Hurley
2015-01-16 17:00 ` Chris Mason
2015-01-16 18:58 ` Peter Hurley
2015-01-06 10:29 ` Sedat Dilek
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=54B01FF0.3020900@arm.com \
--to=marc.zyngier@arm.com \
--cc=Will.Deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mlangsdo@redhat.com \
--cc=steve.capper@linaro.org \
--cc=torvalds@linux-foundation.org \
--cc=vishnu.ps@samsung.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).