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.

[参考译文] Linux/DRA744:Linux 引导时间优化&图形问题

Guru**** 2576215 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/613262/linux-dra744-linux-boot-time-optimization-graphic-issue

器件型号:DRA744

工具/软件:Linux

对于仪表组应用、我们将使用 Fastboot Linux。 我们的目标是在初始化(在 userspace 中)上输入<300、400 ms。

目前、我们非常接近目标、但我们要解决以下问题:

我们注意到、300ms 花费在释放高页上。

这在引导过程中很早就发生、并在函数 free_highpages ()-在 arch/arm/mm/init.c 内执行

在关键应用程序启动后,我们尝试将操作推迟到 userspace (请参见附加的补丁)-在我们的案例中为:pvrsrvctl、Weston 合成器和仪表组。 但是、使用这种方法时、即使完全高内存是系统的存储器(通过 cat /proc/meminfo 进行验证)、应用程序也会开始出现内存不足的情况。 这在视觉上尤其可以看到、高速图形会减慢速度。

在我们的印象中、这可能是由于 SGX 图形固件当时无法识别整个内存。

您能评论一下我们如何破解内核或 SGX FW 以节省这300ms、并使图形仍然完全正常工作吗?

BR、

Fabio

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

    您好 Fabio、

    我已将您的问题转发给图形专家。

    您能告诉我们您使用的是哪款 SDK 吗?

    此致、
    Yordan

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

    Yordan、您好!

    我们在这里没有得到反馈、

    这是一个紧迫的主题、因为我们需要对仪表组应用进行 Fastboot 优化。

    您能否与 DSS 专家一起推动这一目标?

    BR、Fabio

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

    我们使用的是 PROCESSOR-SDK-LINUK-Automotive 03_02_00_03

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

    pvrsrvctl 在您的用例中是否成功? 我建议运行 kmscube 而不是 Weston 来测试 SGX H/W 还是 S/W 是否能够处理这种情况。

    此致、

    Subhajit

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

    目前、在启动时释放了完整的内存后、我们的系统能够完美运行。 如果我们引入高内存的效率降低,系统会在重负载下减慢速度并冻结(这在图形中很明显)。

    FREE_HIGHPAGES 函数实际上需要290ms 的引导时间;您是否知道在不影响正常运行的情况下缩短此时间的方法?

    谢谢你

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

    Francesco、

    请告诉我,pvrsrvctl 是否适用于您的延迟可用内存模型。 如果 pvrsrvctl 起作用,则可以启动 kmscube,这对存储器的要求非常低。 此步骤将帮助我了解问题是出在 SGX 驱动程序还是 Weston。

    如果系统在 pvrsrvctl 之前就出现故障,我们需要在驱动程序级别对此进行调查。

    此致、
    Subhajit

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

    尊敬的 Subhajit:

    很抱歉因为假期而耽误了很长时间。

    在我们的试验中,pvrsrvctl 始终有效。

    此致、

    弗朗西斯科

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

    Francesco、

    很抱歉耽误你的回答。 我还想知道您是否可以运行 kmscube?

    此致、

    Subhajit

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

    是的、kmscube 始终正常工作。

    在另一位调试之后、问题似乎更多地与应用程序的内存不足相关、而不是与图形堆栈相关(我们可以观察到内核由于内存不足错误而导致应用程序停止)。

    此致、
    弗朗西斯科