On 3/1/19 5:48 PM, Roman Gushchin wrote: > On Fri, Mar 01, 2019 at 03:43:19PM +0100, Vlastimil Babka wrote: >> On 2/25/19 9:30 PM, Roman Gushchin wrote: >>> alloc_vmap_area() is allocating memory for the vmap_area, and >>> performing the actual lookup of the vm area and vmap_area >>> initialization. >>> >>> This prevents us from using a pre-allocated memory for the map_area >>> structure, which can be used in some cases to minimize the number >>> of required memory allocations. >> >> Hmm, but that doesn't happen here or in the later patch, right? The only >> caller of init_vmap_area() is alloc_vmap_area(). What am I missing? > > So initially the patch was a part of a bigger patchset, which > tried to minimize the number of separate allocations during vmalloc(), > e.g. by inlining vm_struct->pages into vm_struct for small areas. > > I temporarily dropped the rest of the patchset for some rework, > but decided to leave this patch, because it looks like a nice refactoring > in any case, and also it has been already reviewed and acked by Matthew > and Johannes. OK then, Acked-by: Vlastimil Babka <vbabka@xxxxxxx> > Thank you for looking into it! >