On Mon, Jul 21, 2014 at 08:33:48PM +0100, Laura Abbott wrote: > On 7/18/2014 6:53 AM, Catalin Marinas wrote: > > On Wed, Jul 02, 2014 at 07:03:36PM +0100, Laura Abbott wrote: > >> +void *dma_common_pages_remap(struct page **pages, size_t size, > >> + unsigned long vm_flags, pgprot_t prot, > >> + const void *caller) > >> +{ > >> + struct vm_struct *area; > >> + > >> + area = get_vm_area_caller(size, vm_flags, caller); > >> + if (!area) > >> + return NULL; > >> + > >> + if (map_vm_area(area, prot, &pages)) { > >> + vunmap(area->addr); > >> + return NULL; > >> + } > >> + > >> + return area->addr; > >> +} > > > > Why not just replace this function with vmap()? It is nearly identical. > > With this version, the caller stored and printed via /proc/vmallocinfo > is the actual caller of the DMA API whereas if we just call vmap we > don't get any useful caller information. Going to vmap would change > the existing behavior on ARM so it seems unwise to switch. OK. > Another option is to move this into vmalloc.c and add vmap_caller. Maybe as a subsequent clean-up (once this series gets merged). -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>