[PATCH v8 0/3] Optimize zone->contiguous update and issue fix

Tianyou Li posted 3 patches 2 weeks, 3 days ago
drivers/base/memory.c          |  53 +++----------
include/linux/memory_hotplug.h |  18 ++---
mm/internal.h                  |   8 +-
mm/memory_hotplug.c            | 136 +++++++++++++++++++++++++++++++--
mm/mm_init.c                   |  15 +++-
5 files changed, 167 insertions(+), 63 deletions(-)
[PATCH v8 0/3] Optimize zone->contiguous update and issue fix
Posted by Tianyou Li 2 weeks, 3 days ago
This series contains 3 patches. The first one fix an issue when check
the zone->contiguous during zone grows. The second one encapsulate the
mhp_init_memmap_on_memory() and online_pages() into
online_memory_block_pages(), the mhp_deinit_memmap_on_memory() and
offline_pages() into offline_memory_block_pages(). The last one add a
fast path to check the zone->contiguous. The issue fixed by the first
patch can be found in the original code path.

Changes History
===============
v2 changes:
   Add check_zone_contiguous_fast function to check zone contiguity for
   new  memory PFN ranges.

v3 changes:
   Add zone contiguity check for empty zones.

v4 changes:
   1. Improve coding style.
   2. Add fast path for zone contiguity check in memory unplugged cases,
      and update test results.
   3. Refactor set_zone_contiguous: the new set_zone_contiguous updates
      zone contiguity based on the fast path results.

v5 changes:
   1. Improve coding style.
   2. Fix a issue in which zone->contiguous was always false when adding
      new memory, leveraging the fast path optimization.

v6 changes:
   1. Improve coding style.
   2. Add comments.

v7 changes:
   1. Rebased to 6.19-rc1
   2. Reorder the patches so that the fix will be the first in the series. 

v8 changes:
   1. Rebased to 6.19-rc6
   2. Add online_memory_block_pages() and offline_memory_block_pages()

Tianyou Li (2):
  mm/memory hotplug/unplug: Add online_memory_block_pages() and
    offline_memory_block_pages()
  mm/memory hotplug/unplug: Optimize zone->contiguous update when
    changes pfn range

Yuan Liu (1):
  mm/memory hotplug: Fix zone->contiguous always false when hotplug


 drivers/base/memory.c          |  53 +++----------
 include/linux/memory_hotplug.h |  18 ++---
 mm/internal.h                  |   8 +-
 mm/memory_hotplug.c            | 136 +++++++++++++++++++++++++++++++--
 mm/mm_init.c                   |  15 +++-
 5 files changed, 167 insertions(+), 63 deletions(-)

-- 
2.47.1