On 02/10/2018 01:43 AM, Alexey Skidanov wrote:
Current ion kernel mapping implementation uses vmap() to map previously
allocated buffers into kernel virtual address space. On 32 bit
platforms, vmap() might fail on large enough buffers due to the limited
available vmalloc space.
dma_buf_kmap() should guarantee that only one page is mapped at a time.
So, probably it's better to implement dma_buf_kmap() by kmap() and not
The short answer is yes.
The long answer is that the conversion to the dma_buf APIs kept the
existing Ion behavior which mapped the entire buffer. We got away
with this because the in kernel mapping APIs are used very infrequently
and with buffers that never triggered an exhaustion of vmalloc
If we actually start seeing problems with this we can fix it up
but I don't consider this a high priority item.
devel mailing list