On Power systems with shared configurations of CPUs and memory, there are some issues with association of additional CPUs and memory to nodes when hot-adding resources. These patches address some of those problems.
powerpc/numa: Correct the currently broken capability to set the topology for shared CPUs in LPARs. At boot time for shared CPU lpars, the topology for each shared CPU is set to node zero, however, this is now updated correctly using the Virtual Processor Home Node (VPHN) capabilities information provided by the pHyp. The VPHN handling in Linux is disabled, if PRRN handling is present. Also, update initialization checks for device-tree attributes to independently recognize PRRN or VPHN usage. powerpc/nodes: On systems like PowerPC which allow 'hot-add' of CPU or memory resources, it may occur that the new resources are to be inserted into nodes that were not used for these resources at bootup. In the kernel, any node that is used must be defined and initialized at boot. This patch extracts the value of the 'min_common_depth' element from the "rtas" device tree property "ibm,max-associativity-domains" to use as the maximum number of nodes to setup as possibly available in the system. [The 'min_common_depth' element is calculated from memory associations found while loading all of the configured memory into the system data structures at boot.] This new setting will override the instruction, nodes_and(node_possible_map, node_possible_map, node_online_map); presently seen in the function arch/powerpc/mm/numa.c:initmem_init(). If the property is not present at boot, no operation will be performed to define or enable additional nodes. powerpc/vphn: Rearrange file contents to better distinguish the VPHN code from the NUMA code better, and move relevant functions to another file. Signed-off-by: Michael Bringmann <m...@linux.vnet.ibm.com> Michael Bringmann (3): powerpc/numa: Update CPU topology when VPHN enabled powerpc/nodes: Ensure enough nodes avail for operations powerpc/vphn: Rearrange file contents for improved clarity --- Changes in V11: -- Reorganize patches to make individual changes clearer