linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] Refactor free_area_init_core and add free_area_init_core_hotplug
@ 2018-07-30 10:17 osalvador
  2018-07-30 10:17 ` [PATCH v5 1/4] mm/page_alloc: Move ifdefery out of free_area_init_core osalvador
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: osalvador @ 2018-07-30 10:17 UTC (permalink / raw)
  To: akpm
  Cc: mhocko, vbabka, pasha.tatashin, mgorman, aaron.lu,
	iamjoonsoo.kim, linux-mm, linux-kernel, dan.j.williams, david,
	Oscar Salvador

From: Oscar Salvador <osalvador@suse.de>

Changes:

v4 -> v5:
	- Remove __ref from hotadd_new_pgdat and placed it to
	  free_area_init_core_hotplug. (Suggested by Pavel)
	- Since free_area_init_core_hotplug is now allowed to be in a different
	  section (__ref), remove the __paginginit.)
	- Stylecode in free_area_init_core_hotplug (Suggested by Pavel)
	- Replace s/@__paginginit/@__init for free_area_init_node/free_area_init_core
	  as these functions are now only called during early init.
	- Add Reviewd-by from Pavel

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     |  15 ++----
 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(+), 74 deletions(-)

-- 
2.13.6


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-08-01 12:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-30 10:17 [PATCH v5 0/4] Refactor free_area_init_core and add free_area_init_core_hotplug osalvador
2018-07-30 10:17 ` [PATCH v5 1/4] mm/page_alloc: Move ifdefery out of free_area_init_core osalvador
2018-07-30 10:17 ` [PATCH v5 2/4] mm: access zone->node via zone_to_nid() and zone_set_nid() osalvador
2018-07-30 10:17 ` [PATCH v5 3/4] mm/page_alloc: Inline function to handle CONFIG_DEFERRED_STRUCT_PAGE_INIT osalvador
2018-07-30 10:17 ` [PATCH v5 4/4] mm/page_alloc: Introduce free_area_init_core_hotplug osalvador
2018-07-31 10:17   ` Oscar Salvador
2018-07-31 16:12     ` Pavel Tatashin
2018-08-01 12:29     ` Oscar Salvador
2018-08-01 11:47   ` Michal Hocko
2018-08-01 11:52     ` Oscar Salvador

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).