On Mon, Jul 16, 2018 at 01:44:43PM -0400, Pavel Tatashin wrote: > When struct pages are allocated for sparse-vmemmap VA layout, we first try > to allocate one large buffer, and than if that fails allocate struct pages > for each section as we go. > > The code that allocates buffer is uses global variables and is spread > across several call sites. > > Cleanup the code by introducing three functions to handle the global > buffer: > > sparse_buffer_init() initialize the buffer > sparse_buffer_fini() free the remaining part of the buffer > sparse_buffer_alloc() alloc from the buffer, and if buffer is empty > return NULL > > Define these functions in sparse.c instead of sparse-vmemmap.c because > later we will use them for non-vmemmap sparse allocations as well. > > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> I did not see anything wrong, so: Reviewed-by: Oscar Salvador <osalvador@xxxxxxx> Thanks -- Oscar Salvador SUSE L3