mbox series

[v4,0/4] Refactor free_area_init_core and add free_area_init_core_hotplug

Message ID 20180727140325.11881-1-osalvador@techadventures.net (mailing list archive)
Headers show
Series Refactor free_area_init_core and add free_area_init_core_hotplug | expand

Message

Oscar Salvador July 27, 2018, 2:03 p.m. UTC
From: Oscar Salvador <osalvador@suse.de>

Changes:

v3 -> v4:
        - Unify patch-5 and patch-4
        - Make free_area_init_core __init (Suggested by Michal)
        - Make zone_init_internals __paginginit (Suggested by Pavel)
        - Add Reviewed-by/Acked-by:

v2 -> v3:
        - Think better about split free_area_init_core for
          memhotplug/early init context (Suggested by Michal)

This patchset does three things:

 1) Clean up/refactor free_area_init_core/free_area_init_node
    by moving the ifdefery out of the functions.
 2) Move the pgdat/zone initialization in free_area_init_core to its
    own function.
 3) Introduce free_area_init_core_hotplug, a small subset of free_area_init_core,
    which is only called from memhotlug code path.
    In this way, we have:

    free_area_init_core: called during early initialization
    free_area_init_core_hotplug: called whenever a new node is allocated/re-used (memhotplug path)

Oscar Salvador (3):
  mm/page_alloc: Move ifdefery out of free_area_init_core
  mm/page_alloc: Inline function to handle
    CONFIG_DEFERRED_STRUCT_PAGE_INIT
  mm/page_alloc: Introduce free_area_init_core_hotplug

Pavel Tatashin (1):
  mm: access zone->node via zone_to_nid() and zone_set_nid()

 include/linux/mm.h     |  13 ++---
 include/linux/mmzone.h |  26 +++++++---
 mm/memory_hotplug.c    |  16 ++----
 mm/mempolicy.c         |   4 +-
 mm/mm_init.c           |   9 +---
 mm/page_alloc.c        | 134 +++++++++++++++++++++++++++++++++++--------------
 6 files changed, 130 insertions(+), 72 deletions(-)