Unified Memory Management track

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.


Proposals for this track

* Track overview

The Unified Buffer Management microconference will use a free-form agenda, with time blocked out as shown below
Unified Memory Management 08/30/2011
Jesse Barker

* Unified Memory Management

A check-point of the Linaro-driven approach to addressing the memory management issues encountered by the ARM ecosystem. (slides)
Unified Memory Management 05/16/2011
Jesse Barker