v5 - v4
        - Fixed the issue that was reported on ppc64 when
        - Consolidated the new buffer allocation between vmemmap
          and non-vmemmap variants of sparse layout.
        - Removed all review-by comments, because I had to do
          significant amount of changes compared to previous version
          and need another round of review.
        - I also would appreciate if those who reported problems with
          PPC64 could test this change.
v4 - v3
        - Addressed comments from Dave Hansen
v3 - v1
        - Fixed two issues found by Baoquan He
v1 - v2
        - Addressed comments from Oscar Salvador

In sparse_init() we allocate two large buffers to temporary hold usemap and
memmap for the whole machine. However, we can avoid doing that if we
changed sparse_init() to operated on per-node bases instead of doing it on
the whole machine beforehand.

As shown by Baoquan

The buffers are large enough to cause machine stop to boot on small memory

Another benefit of these changes is that they also obsolete

Pavel Tatashin (5):
  mm/sparse: abstract sparse buffer allocations
  mm/sparse: use the new sparse buffer functions in non-vmemmap
  mm/sparse: move buffer init/fini to the common place
  mm/sparse: add new sparse_init_nid() and sparse_init()
  mm/sparse: delete old sprase_init and enable new one

 include/linux/mm.h  |   7 +-
 mm/Kconfig          |   4 -
 mm/sparse-vmemmap.c |  59 +--------
 mm/sparse.c         | 300 +++++++++++++++-----------------------------
 4 files changed, 105 insertions(+), 265 deletions(-)


Reply via email to