Unified Memory Management

Session information has not yet been published for this event.


One Line Summary

A check-point of the Linaro-driven approach to addressing the memory management issues encountered by the ARM ecosystem.


One of the big issues we’ve been faced with at Linaro is around GPU and multimedia device integration, in particular the memory management requirements for supporting them on ARM. This cycle, we are focusing on driving consensus around a unified memory management solution for embedded systems that support multiple architectures and SoCs; though the goal is that the solution be applicable to all architectures.

The effort officially kicked off with a birds-of-a-feather discussion at the Embedded Linux Conference in April, and really picked up steam at the mini-summit held at the Linaro Developer Summit in May. At the mini-summit, members of the community as well as vendor representatives discussed the issues faced when integrating all of the devices on an SoC, and why those efforts turned out not to be maintainable. For the kernel, these fall into 3 categories:

- Allocation. Not all devices on an SoC have an MMU, and require physically contiguous buffers for DMA operations.

- DMA mapping API. Some missing ops were identified, some were identified as needing updates, and cache management needed to be addressed.

- Buffer sharing. No existing support (that anyone was aware of), so this is the one “new” piece of plumbing.

The use case we used to illustrate the problem is that of a zero-copy pipeline from a video source (could be an input device or encoded file) through a codec, a signal processor, the GPU and display hardware.

Here, we will check-point the effort, evaluate what’s been done and revise what’s left. The goal is a common solution, regardless of architecture.



video, graphics, memory

Presentation Materials



  • Jesse Barker



    Jesse Barker is a Staff Software Engineer at ARM Ltd., where he is currently seconded as technical lead of the graphics working group to Linaro, a not-for-profit open source engineering company aimed at making Linux development for the ARM ecosystem easier and faster.