连续内存分配(CMA)保留大小与系统内存

时间:2015-06-06 13:53:32

标签: multithreading memory-management kernel ram dma

我们正在开发一个多媒体密集型应用程序,运行在1GB内存的freescale imx6q上。该系统配备了1400万像素的摄像头。为了处理来自这台相机的数据,我们使用了很多巨大的原始缓冲区(每个29MB)。

事实上,我相信至少我们正在使用: 3 * 29MB(v4l2' sbbb)+ 1 * 29MB(v412'虚拟缓冲)+ 1 * 29MB(缓冲区的本地副本)+ PCIe DMA使用的50MB

在许多情况下,我们没有连续的内存空间,系统无法分配所需的所有缓冲区。

在内核中,CONFIG_CMA_SIZE_MBYTES = 256,CONFIG_CMA_AREAS = 7.

我正在调查将CMA大小提升到384MB的可能性,但担心这可能会影响系统性能,因为正在运行的应用程序是多线程的。这说(1GB - 384MB)是应用程序和系统运行的剩余空间。

问题是,将CMA上升到384会损害系统性能吗?

适合我们应用的保留CMA内存的最佳大小是多少,请记住系统有1GB内存?

0 个答案:

没有答案