This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:CMA 使用率增加、长期使用视频编码器时出现内核崩溃

Guru**** 1133960 points
Other Parts Discussed in Thread: AM62A7
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1254678/am62a7-cma-usage-is-increasing-and-kernel-crash-is-seen-when-using-video-encoder-in-long-run

器件型号:AM62A7

您好!

我们正在具有以下 gstreamer 流水线的 am62a7 EVK 电路板中测试4K@60fps H265视频编码

gst-launch-1.0 -v videtestsrc num-buffers=300! video/x-raw,宽度=3480,高度=2160,帧速率=60/1! v4l2h265enc! filesink 位置= test.mp4

但管道完成后,CMA 内存会慢慢减小(每次大约20MB)

如果在两次之间的一段时间内、同一个流水线持续运行、睡眠时间为5秒、则会显示以下错误并看到内核崩溃。

alloc_contrig_range:[fb900、fc02c) PFN 忙

CMA:CMA_alloc:Alloc 失败、请求大小:1836页、顺序:-12

vdec 3021000.video-codec:dma_alloc_相干 大小7520256失败

下面是用于连续视频编码的 while 循环

while [ 1 ]
正确
gst-launch-1.0 -v videtestsrc num-buffers=300! video/x-raw,宽度=3480,高度=2160,帧速率=60/1! v4l2h265enc! filesink location=test.mp4; sleep 5;
完成

请在 GST_DEBUG=2下运行管道时找到所附的日志

e2e.ti.com/.../gst_2D00_debug.log

使用 v4l2h264enc 时、h264编码期间也会观察到类似情况

我们使用的是 Linux SDK 版本08.06.00.45、没有对 BSP 进行额外的软件更改。

这种行为是否正常?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinay。

    您是否可以在启动时增大 CMA 的大小并尝试查看是否能够解决此问题:

    要在引导过程中更改 CMA 大小,请在 u-boot 提示符处停止并按如下所示更新 CMA,然后引导:

    target# setenv args_all $args_all CMA=1000M
    target# boot 

    请告诉我这是否有帮助。

    此致、
    苏伦
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Suren:

    我已尝试增加 CMA、但问题将延迟、但在 CMA 减小后、会发生相同的错误。

    每次编码器管道运行使用的 CMA 时都未正确释放、CMA 减少20MB、因此出现问题

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinay。

    在4K @ 30fps 时您是否看到相同的行为?

    根据 TRM:

    此致、

    苏伦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Suren:

    是、以4K@30fps 持续编码时、也可以看到相同的行为

    请找到说明此问题的随附日志。

    e2e.ti.com/.../video_2D00_encoding_2D00_long_2D00_run_2D00_evk.zip

    此处,每次运行管道后,CMA 内存都会减少,并且在某个时间点,当无法获取所需 CMA 时,内核会崩溃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinay。

    我将等待 SDK 9.0版本、以验证此问题是否解决。 该版本计划在未来两周内发布。  

    此致、

    苏伦