Re: Using ion memory for direct-io

From: Laura Abbott
Date: Mon Apr 17 2017 - 12:13:58 EST


On 04/14/2017 02:18 AM, Zengtao (B) wrote:
> Hi
>
> Currently, the ion mapped to userspace will be forced with VM_IO and VM_PFNMAP flags.
> When I use the ion memory to do the direct-io, it will fail when reaching the get_user_pages,
>
> Back to the VM_IO and VM_PFNMAP flag, there two flags are introduced by the remap_pfn_range called
> by the ion_heap_mmap_user.
>
> From my point of view, all ion memory(cma/vmalloc/system heap) are managed by linux vm, it
> is not reasonable to have the VM_IO and VM_PFNMAP flag, but I don't any suitable function
> to replace the remap_pfn_range, any suggestions?
>
> Thanks && Regards
>
> Zengtao
>

The carveout heap is omitted from your list of 'all ion memory'. At one
time, carveout memory was not backed by struct pages so I suspect
this is a holdover from then. This would probably be better served
by using vm_insert_page and handling higher order pages properly.

Thanks,
Laura