Coder Social home page Coder Social logo

Comments (5)

nyanmisaka avatar nyanmisaka commented on May 27, 2024

Linux error -12 is -ENOMEM (cannot allocate memory).

This is more like RGA2 running out of 4GB dma32 memory than an ffmpeg error. You'd better check dmesg to see the more detailed error info of RGA driver.

from ffmpeg-rockchip.

great9 avatar great9 commented on May 27, 2024
[2739068.437367] warn_alloc: 82 callbacks suppressed
[2739068.437373] ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=15aae0b0f1d00ff317bd3caf7622267d962dbe6eec8db424c1791fa5434adddb,mems_allowed=0
[2739068.437385] CPU: 7 PID: 3962807 Comm: ffmpeg Tainted: G           O      5.10.110-37-rockchip-g74457be0716d #rockchip
[2739068.437386] Hardware name: Radxa ROCK 5B (DT)
[2739068.437388] Call trace:
[2739068.437394]  dump_backtrace+0x0/0x1a8
[2739068.437396]  show_stack+0x2c/0x38
[2739068.437400]  dump_stack_lvl+0xd0/0xfc
[2739068.437402]  dump_stack+0x14/0x2c
[2739068.437406]  warn_alloc+0xe0/0x174
[2739068.437409]  __alloc_pages_slowpath.constprop.150+0x3f4/0x728
[2739068.437411]  __alloc_pages_nodemask+0x194/0x258
[2739068.437414]  dmabuf_page_pool_alloc+0x78/0x7c
[2739068.437417]  system_heap_do_allocate.isra.11+0x2a4/0x54c
[2739068.437419]  system_heap_allocate+0x38/0x48
[2739068.437421]  dma_heap_buffer_alloc+0x5c/0x74
[2739068.437422]  dma_heap_bufferfd_alloc+0x3c/0x7c
[2739068.437424]  dma_heap_ioctl+0x200/0x284
[2739068.437427]  vfs_ioctl+0x58/0x68
[2739068.437429]  __arm64_sys_ioctl+0x80/0xb0
[2739068.437431]  el0_svc_common.constprop.5+0x134/0x1e8
[2739068.437433]  do_el0_svc+0x80/0x9c
[2739068.437435]  el0_svc+0x1c/0x28
[2739068.437437]  el0_sync_handler+0x64/0x12c
[2739068.437439]  el0_sync+0x178/0x180
[2739068.437441] Mem-Info:
[2739068.437446] active_anon:141204 inactive_anon:161343 isolated_anon:0
                  active_file:16015 inactive_file:22274 isolated_file:0
                  unevictable:0 dirty:193 writeback:0
                  slab_reclaimable:22466 slab_unreclaimable:31709
                  mapped:20568 shmem:26028 pagetables:8850 bounce:0
                  free:234484 free_pcp:746 free_cma:60461
[2739068.437451] Node 0 active_anon:564816kB inactive_anon:645372kB active_file:64060kB inactive_file:89096kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:82272kB dirty:772kB writeback:0kB shmem:104112kB writeback_tmp:0kB kernel_stack:16144kB all_unreclaimable? yes
[2739068.437455] DMA free:247188kB min:5452kB low:9276kB high:13100kB reserved_highatomic:0KB active_anon:44kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:3930112kB managed:3839940kB mlocked:0kB pagetables:948kB bounce:0kB free_pcp:252kB local_pcp:248kB free_cma:241844kB
[2739068.437456] lowmem_reserve[]: 0 0 3941 3941
[2739068.437463] Normal free:690748kB min:5756kB low:9792kB high:13828kB reserved_highatomic:4096KB active_anon:564772kB inactive_anon:645456kB active_file:64060kB inactive_file:89096kB unevictable:0kB writepending:772kB present:4194304kB managed:4036540kB mlocked:0kB pagetables:34452kB bounce:0kB free_pcp:2732kB local_pcp:300kB free_cma:0kB
[2739068.437464] lowmem_reserve[]: 0 0 0 0
[2739068.437468] DMA: 48*4kB (UEC) 28*8kB (UEC) 19*16kB (EC) 173*32kB (UEC) 12*64kB (C) 12*128kB (C) 9*256kB (C) 8*512kB (C) 7*1024kB (C) 6*2048kB (C) 52*4096kB (C) = 247408kB
[2739068.437485] Normal: 38713*4kB (UMEH) 33912*8kB (UMEH) 14447*16kB (UMEH) 1038*32kB (UMEH) 4*64kB (H) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 690772kB

from ffmpeg-rockchip.

nyanmisaka avatar nyanmisaka commented on May 27, 2024
ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO)

The DMA32 address requested by ffmpeg has been exhausted, so it automatically falls back to the DMA64 address. And RGA2 only supports DMA32, so it cannot use this memory.

Try reducing the number of concurrent video streams, and setting :async_depth=0 for scale_rkrga may also help.

from ffmpeg-rockchip.

great9 avatar great9 commented on May 27, 2024
ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO)

The DMA32 address requested by ffmpeg has been exhausted, so it automatically falls back to the DMA64 address. And RGA2 only supports DMA32, so it cannot use this memory.

Try reducing the number of concurrent video streams, and setting :async_depth=0 for scale_rkrga may also help.

RGA2 had this problem for a while as far as I know. Who's responsible for it? Rockchip?

from ffmpeg-rockchip.

nyanmisaka avatar nyanmisaka commented on May 27, 2024
ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO)

The DMA32 address requested by ffmpeg has been exhausted, so it automatically falls back to the DMA64 address. And RGA2 only supports DMA32, so it cannot use this memory.
Try reducing the number of concurrent video streams, and setting :async_depth=0 for scale_rkrga may also help.

RGA2 had this problem for a while as far as I know. Who's responsible for it? Rockchip?

This is a hardware limitation and is determined by the hardware designer. So yes rockchip.

RGA3 does not have this limitation but it cannot output YUV420P, you can switch to another format and use RGA3 instead.

from ffmpeg-rockchip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.