Patent ID: 8688923

Claim:
A computer-implemented method comprising: dynamically controlling, by a hypervisor, memory affinity of a shared memory logical partition, the dynamically controlling comprising: determining at least one home node assignment for each logical partition of a plurality of logical partitions in a data processing system, the plurality of logical partitions of the data processing system dynamically sharing access to the same physical memory while running absent concurrent access to any physical page of the physical memory, the logical partition running on a plurality of nodes of the data processing system, with each assigned home node being one node of the plurality of nodes; determining a desired physical page level per node from the shared physical memory for each logical partition; allowing the plurality of logical partitions to run and using for the logical partition the at least one home node assignment and the desired physical page levels for the plurality of nodes in hypervisor page memory management to dynamically concurrently control memory affinity of the plurality of logical partitions in the data processing system; and wherein the determining of the at least one home node assignment for each logical partition further comprises initially sorting the plurality of logical partitions in order of priority for which home nodes are to be assigned, and determining whether total desired logical memory for the plurality of shared memory logical partitions is greater than available physical memory in the shared pool of physical memory of the data processing system, and if yes, scaling the desired logical memory down so that the total desired logical memory of the plurality of logical partitions is equivalent to the amount of physical memory in the shared pool, and assigning for a highest priority logical partition at least one home node for that logical partition, fitting its desired, entitled processor capacity and memory into the available processor capacity and memory of the plurality of nodes, and proceeding to process each shared memory logical partition in the order of priority until all logical partitions have at least one home node assigned.