On Thu, Jul 12, 2018 at 04:37:29PM -0400, Pavel Tatashin wrote: > sparse_init() requires to temporary allocate two large buffers: > usemap_map and map_map. Baoquan He has identified that these buffers are so > large that Linux is not bootable on small memory machines, such as a kdump > boot. The buffers are especially large when CONFIG_X86_5LEVEL is set, as > they are scaled to the maximum physical memory size. > > Baoquan provided a fix, which reduces these sizes of these buffers, but it > is much better to get rid of them entirely. > > Add a new way to initialize sparse memory: sparse_init_nid(), which only > operates within one memory node, and thus allocates memory either in large > contiguous block or allocates section by section. This eliminates the need > for use of temporary buffers. > > For simplified bisecting and review temporarly call sparse_init() > new_sparse_init(), the new interface is going to be enabled as well as old > code removed in the next patch. > > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> Looks good to me, and it will make the code much shorter/easier. Reviewed-by: Oscar Salvador <osalvador@xxxxxxx> Thanks -- Oscar Salvador SUSE L3