The Android system has shipped a couple of allocators for DMA buffers
over the years; first came PMEM, then its
replacement ION. The ION allocator has
been in use since around 2012, but it remains stuck in the kernel’s staging
tree. The
work to add ION to the mainline started in 2013;
at that time, the allocator had multiple issues that made inclusion
impossible. Recently, John Stultz posted
a patch set introducing DMA-BUF heaps, an evolution of ION, that is
designed to do exactly that — get the Android DMA-buffer allocator to
the mainline Linux kernel.
Source: LWN.net – [$] Destaging ION