The migration of LPARs across Power systems affects many attributes including that of the associativity of memory blocks and CPUs. 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 and CPUs recorded in internal data structures when compared to the latest copies in the device tree (e.g. ibm,dynamic-memory, ibm,dynamic-memory-v2, cpus), * 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 the CPUs and memory. * Re-register the 'changed' entities into the target system. Re-registration of CPUs and memory blocks mostly entails acting as if they have been newly hot-added into the target system. Signed-off-by: Michael Bringmann <m...@linux.vnet.ibm.com> Michael Bringmann (3): powerpc migration/drmem: Modify DRMEM code to export more features powerpc migration/cpu: Associativity & cpu changes powerpc migration/memory: Associativity & memory updates --- Changes in RFC: -- Restructure and rearrange content of patches to co-locate similar or related modifications -- Rename pseries_update_drconf_cpu to pseries_update_cpu -- Simplify code to update CPU nodes during mobility checks. Remove functions to generate extra HP_ELOG messages in favor of direct function calls to dlpar_cpu_readd_by_index, or dlpar_memory_readd_by_index. -- Revise code order in dlpar_cpu_readd_by_index() to present more appropriate error codes from underlying layers of the implementation. -- Add hotplug device lock around all property updates -- Schedule all CPU and memory changes due to device-tree updates / LPAR mobility as workqueue operations -- Export DRMEM accessor functions to parse 'ibm,dynamic-memory-v2' -- Export DRMEM functions to provide user copies of LMB array -- Compress code using DRMEM accessor functions. -- Split topology timer crash fix into new patch. -- Modify DRMEM code to replace usages of dt_root_addr_cells, and dt_mem_next_cell, as these are only available at first boot. -- Correct a bug in DRC index selection for queued operation. -- Rebase to 4.17-rc5 kernel