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.

[参考译文] PROCESSOR-SDK-AM64X:Zerocopy dmabuf_sync (int fd、int start_stop)调用和非缓存缓冲区

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1508402/processor-sdk-am64x-zerocopy-dmabuf_sync-int-fd-int-start_stop-calls-and-non-cached-buffer

器件型号:PROCESSOR-SDK-AM64X

工具/软件:

您好:
在 zerocopy 示例中、如果器件树中将"dma-heap-carveout"缓冲区标记为"no-map"、是否仍需要调用 dmabuf_sync (int fd、int start_stop)来同步缓冲区访问?
我的理解是、只有在缓冲区可缓存的情况下、缓存管理才需要此调用。
P.s.: 我假设"no-map"也意味着不可缓存的行为、基于以下主题: TDA4VM:关于在 Linux 下使用 DMA-BUF 堆分配内存时的缓存设置-处理器论坛-处理器- TI E2E 支持论坛
此致、
Petar

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

    您好、Petar、

    嗯、这是一个有趣的问题。 我始终在以下假设下运行:no-map 只是告诉操作系统、除打算使用存储器区域的驱动程序之外、在任何情况下都不能使用存储器区域、根据绑定文档: https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml

    让我多做一些挖掘工作。 如果您发现任何有趣的事情、请也与我们分享。 zerocopy 示例的初始目的是简单地演示共享存储器的示例、而不是针对特定用例进行优化、因此肯定有一些地方可以优化代码以更快地运行。

    此致、

    Nick