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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel