On Wed, Apr 17, 2019 at 03:27:56PM +0200, Vlastimil Babka wrote: > 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 this and other patches from the series! Btw, it looks like that recent changes in vmalloc code are in a conflict with this patch, so I'll drop it for now, and will resend two other as v4. Thanks!