[PATCH v07 0/5] powerpc/migration: Affinity fix for memory
Michael Bringmann
mwb at linux.vnet.ibm.com
Thu Oct 18 06:37:53 AEDT 2018
The migration of LPARs across Power systems affects many attributes
including that of the associativity of memory blocks. The patches
in this set execute when a system is coming up fresh upon a migration
target. They are intended to,
* Recognize changes to the associativity of memory recorded in
internal data structures when compared to the latest copies in
the device tree (e.g. ibm,dynamic-memory, ibm,dynamic-memory-v2).
* Recognize changes to the associativity mapping (e.g. ibm,
associativity-lookup-arrays), locate all assigned memory blocks
corresponding to each changed row, and readd all such blocks.
* Generate calls to other code layers to reset the data structures
related to associativity of memory.
* Re-register the 'changed' entities into the target system.
Re-registration of memory blocks mostly entails acting as if they
have been newly hot-added into the target system.
This code builds upon features introduced in a previous patch set
that updates CPUs for affinity changes that may occur during LPM.
Signed-off-by: Michael Bringmann <mwb at linux.vnet.ibm.com>
Michael Bringmann (5):
powerpc/drmem: Export 'dynamic-memory' loader
powerpc/drmem: Add internal_flags feature
migration/memory: Add hotplug flags READD_MULTIPLE
migration/memory: Evaluate LMB assoc changes
migration/memory: Support 'ibm,dynamic-memory-v2'
---
Changes in v07:
-- Provide more useful return value from dlpar_memory_readd_multiple
Changes in v06:
-- Rebase to powerpc next branch to account for recent code changes.
-- Fix prototype problem when CONFIG_MEMORY_HOTPLUG not defined.
Changes in v05:
-- Add walk_drmem_lmbs_pairs to replace macro for_each_pair_lmb
-- Use walk_drmem_lmbs_pairs and callback instead of local loop
-- Provide dlpar_memory_readd_helper routine to compress some common code
-- Move common structure from numa.c + hotplug-memory.c to header file.
-- Clarify some comments.
Changes in v04:
-- Move dlpar_memory_readd_multiple() to patch with new ACTION
constant.
-- Move init of 'lmb->internal_flags' in init_drmem_v2_lmbs to
patch with other references to flag.
-- Correct spacing in one of the patches
Changes in v03:
-- Change operation to tag changed LMBs in DRMEM array instead of
queuing a potentially huge number of structures.
-- Added another hotplug queue event for CPU/memory operations
-- Added internal_flags feature to DRMEM
-- Improve the patch description language for the patch set.
-- Revise patch set to queue worker for memory association
updates directly to pseries worker queue.
More information about the Linuxppc-dev
mailing list