OOM while increasing RAM to 4GB on DRA7x TI platform.
Min-Hua Chen
orca.chen at gmail.com
Fri Oct 6 09:50:17 EDT 2017
On Thu, Oct 05, 2017 at 03:04:58PM +0530, priyaranjan wrote:
> Hello All,
>
> I'm having issues on DRA7x based Android system where migrating from a
> 2GB RAM configuration to 4GB RAM has forced us to enable LPAE. In the
> LPAE configuration, OOM killer causes issues as the system becomes
> heavily loaded, but this issue does not occur on our more stable 2GB /
> non-lpae baseline.
Is you DMA zone occupied by CMA memory?
How about enabling LPAE with 2GM DRAM config first?
>
> >From what I understand, this is happening because we run out of low
> memory. LPAE does place a marginally higher demand on lowmem in terms
> of page tables, kernel size, etc. But still not sure of an exact root
> cause.
>
> Tuning/reducing vmalloc in the kernel command line seems to improve
> the situation, but at the expense of introducing binder issues (since
> binder uses vmalloc extensively).
>
> Can anyone help me regarding this? See below example log.
>
> Software details - 4.4 kernel + Android 6.0 / marshmallow based on
> 6AM1.3 Texas Instrument release.
>
>
> [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
>
> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
>
> [ 0.000000] Machine model: TI DRA742
>
> [ 0.000000] Reserved memory: created CMA memory pool at
> 0x0000000095800000, size 56 MiB
>
> [ 0.000000] Reserved memory: initialized node ipu2_cma at 95800000,
> compatible id shared-dma-pool
>
> [ 0.000000] Reserved memory: created CMA memory pool at
> 0x0000000099000000, size 64 MiB
>
> [ 0.000000] Reserved memory: initialized node dsp1_cma at 99000000,
> compatible id shared-dma-pool
>
> [ 0.000000] Reserved memory: created CMA memory pool at
> 0x000000009d000000, size 32 MiB
>
> [ 0.000000] Reserved memory: initialized node ipu1_cma at 9d000000,
> compatible id shared-dma-pool
>
> [ 0.000000] Reserved memory: created CMA memory pool at
> 0x000000009f000000, size 16 MiB
>
> [ 0.000000] Reserved memory: initialized node dsp2_cma at 9f000000,
> compatible id shared-dma-pool
>
> [ 0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
>
> [ 0.000000] Forcing write-allocate cache policy for SMP
>
> [ 0.000000] Memory policy: Data cache writealloc
>
> [ 0.000000] OMAP4: Map 0x000000027fd00000 to fe600000 for dram barrier
>
> [ 0.000000] On node 0 totalpages: 1042176
>
> [ 0.000000] free_area_init_node: node 0, pgdat c0e855c0,
> node_mem_map ee39e000
>
> [ 0.000000] DMA zone: 1608 pages used for memmap
>
> [ 0.000000] DMA zone: 0 pages reserved
>
> [ 0.000000] DMA zone: 204800 pages, LIFO batch:31
>
> [ 0.000000] HighMem zone: 837376 pages, LIFO batch:31
>
> [ 0.000000] DRA752 ES2.0
>
> [ 0.000000] PERCPU: Embedded 13 pages/cpu @ee320000 s22592 r8192
> d22464 u53248
>
> [ 0.000000] pcpu-alloc: s22592 r8192 d22464 u53248 alloc=13*4096
>
> [ 0.000000] pcpu-alloc: [0] 0 [0] 1
>
> [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
> Total pages: 1040568
>
> ...
>
>
> [ 0.000000] Memory: 3818136K/4168704K available (6701K kernel code,
> 577K rwdata, 1724K rodata, 2048K init, 381K bss, 153960K reserved,
> 196608K cma-reserved, 3324928K highmem)
>
> [ 0.000000] Virtual kernel memory layout:
>
> [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
>
> [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
>
> [ 0.000000] vmalloc : 0xf2800000 - 0xff800000 ( 208 MB)
>
> [ 0.000000] lowmem : 0xc0000000 - 0xf2400000 ( 804 MB)
>
> [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
>
> [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
>
> [ 0.000000] .text : 0xc0008000 - 0xc088b4e0 (8718 kB)
>
> [ 0.000000] .init : 0xc0c00000 - 0xc0e00000 (2048 kB)
>
> [ 0.000000] .data : 0xc0e00000 - 0xc0e90624 ( 578 kB)
>
> [ 0.000000] .bss : 0xc0e92000 - 0xc0ef160c ( 382 kB)
>
> [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
>
>
> ....
>
> [ 66.801410] logd.writer invoked oom-killer: gfp_mask=0x24000d0,
> order=0, oom_score_adj=-1000
>
> [ 66.805748] CPU: 0 PID: 113 Comm: logd.writer Tainted: G W
> O 4.4.45+ #12
>
> [ 66.809599] Hardware name: Generic DRA74X (Flattened Device Tree)
>
> [ 66.812681] [<c020fe8c>] (unwind_backtrace) from [<c020bd34>]
> (show_stack+0x20/0x24)
>
> [ 66.816580] [<c020bd34>] (show_stack) from [<c04bb334>]
> (dump_stack+0xb8/0xe4)
>
> [ 66.820217] [<c04bb334>] (dump_stack) from [<c03395a4>]
> (dump_header+0x5c/0x16c)
>
> [ 66.823940] [<c03395a4>] (dump_header) from [<c02f00d0>]
> (oom_kill_process+0x318/0x460)
>
> [ 66.827967] [<c02f00d0>] (oom_kill_process) from [<c02f0594>]
> (out_of_memory+0x304/0x350)
>
> [ 66.832082] [<c02f0594>] (out_of_memory) from [<c02f55f0>]
> (__alloc_pages_nodemask+0x874/0x998)
>
> [ 66.836459] [<c02f55f0>] (__alloc_pages_nodemask) from [<c02f5734>]
> (__get_free_pages+0x20/0x3c)
>
> [ 66.840878] [<c02f5734>] (__get_free_pages) from [<c0392170>]
> (proc_pid_cmdline_read+0xa4/0x5a8)
>
> [ 66.845296] [<c0392170>] (proc_pid_cmdline_read) from [<c033be54>]
> (__vfs_read+0x34/0xe0)
>
> [ 66.849408] [<c033be54>] (__vfs_read) from [<c033c69c>] (vfs_read+0x8c/0x118)
>
> [ 66.852997] [<c033c69c>] (vfs_read) from [<c033cfa0>] (SyS_read+0x4c/0xa0)
>
> [ 66.856456] [<c033cfa0>] (SyS_read) from [<c0207e00>]
> (ret_fast_syscall+0x0/0x1c)
>
> [ 66.860655] Mem-Info:
>
> [ 66.861896] active_anon:233918 inactive_anon:25216 isolated_anon:0
>
> [ 66.861896] active_file:20206 inactive_file:111218 isolated_file:0
>
> [ 66.861896] unevictable:0 dirty:0 writeback:0 unstable:0
>
> [ 66.861896] slab_reclaimable:3063 slab_unreclaimable:6164
>
> [ 66.861896] mapped:157484 shmem:25476 pagetables:7490 bounce:23
>
> [ 66.861896] free:496396 free_pcp:435 free_cma:15302
>
> [ 66.880653] DMA free:42104kB min:2808kB low:7408kB high:8112kB
> active_anon:86236kB inactive_anon:99528kB active_file:144kB
> inactive_file:0kB unevictable:0kB isolated(anon):0kB
> isolated(file):68kB present:819200kB managed:668108kB mlocked:0kB
> dirty:0kB writeback:0kB mapped:252512kB shmem:99576kB
> slab_reclaimable:12252kB slab_unreclaimable:24656kB
> kernel_stack:10856kB pagetables:3404kB unstable:0kB bounce:92kB
> free_pcp:1284kB local_pcp:628kB free_cma:38780kB writeback_tmp:0kB
> pages_scanned:0 all_unreclaimable? no
>
> [ 66.904623] lowmem_reserve[]: 0 0 6494 6494
>
> [ 66.907897] HighMem free:1943088kB min:512kB low:23580kB
> high:27100kB active_anon:849436kB inactive_anon:1440kB
> active_file:80784kB inactive_file:444956kB unevictable:0kB
> isolated(anon):0kB isolated(file):0kB present:3349504kB
> managed:3349504kB mlocked:0kB dirty:0kB writeback:0kB mapped:377572kB
> shmem:2480kB slab_reclaimable:0kB slab_unreclaimable:0kB
> kernel_stack:0kB pagetables:26556kB unstable:0kB bounce:0kB
> free_pcp:352kB local_pcp:224kB free_cma:22428kB writeback_tmp:0kB
> pages_scanned:0 all_unreclaimable? no
>
> [ 66.933683] lowmem_reserve[]: 0 0 0 0
>
> [ 66.936089] DMA: 679*4kB (UMEC) 234*8kB (UMEC) 100*16kB (UMC)
> 27*32kB (MC) 12*64kB (C) 4*128kB (C) 4*256kB (C) 0*512kB 0*1024kB
> 0*2048kB 8*4096kB (C) = 42124kB
>
> [ 66.944113] HighMem: 8685*4kB (MC) 4196*8kB (MC) 2162*16kB (UMC)
> 1244*32kB (UMC) 679*64kB (MC) 187*128kB (MC) 63*256kB (UMC) 25*512kB
> (M) 20*1024kB (UMC) 6*2048kB (M) 408*4096kB (MC) = 1942964kB
>
> [ 66.954296] 157051 total pagecache pages
>
> [ 66.956536] 0 pages in swap cache
>
> [ 66.958342] Swap cache stats: add 0, delete 0, find 0/0
>
> [ 66.961208] Free swap = 0kB
>
> [ 66.962769] Total swap = 0kB
>
> [ 66.965069] 1042176 pages RAM
>
> [ 66.967429] 837376 pages HighMem/MovableOnly
>
> [ 66.969836] 37773 pages reserved
>
> [ 66.971648] 49152 pages cma reserved
>
> Regards,
> Priyaranjan
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
More information about the Kernelnewbies
mailing list