Abstract

The demand for Contiguous Memory Allocation (CMA) has witnessed significant growth in both low-end and high-end devices in recent years. However, the existing practices for utilizing CMA prove insufficient, particularly when catering to the needs of low-end (32-bit) devices. CMA, a Linux program used for memory reservation and allocation, faces limitations in its current implementations. Presently, techniques such as Scatter-Gather Direct Memory Access (DMA), Input Output Memory Management Unit (IOMMU), and Memory Reservation are commonly employed for contiguous memory allocation. Unfortunately, these methods are financially impractical for low-end devices and struggle to efficiently allocate substantial memory chunks, leading to latency concerns. In this paper, we introduce an improved CMA approach that intelligently allocates virtual memory for data mapping as needed. Alternatively, it directly allocates and deallocates physical memory without the necessity of virtual memory mapping, employing the DMA_KERNEL_NO_MAPPING attribute within the DMA Application Programming Interface (API). By adopting this method, latency is reduced, and the facilitation of larger memory allocations is promoted, addressing the limitations of the current techniques.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.