[PATCH v2 0/3] Kernel handling of Dynamic Logical Partitioning
nfont at austin.ibm.com
Tue Dec 1 07:48:20 EST 2009
Eric W. Biederman wrote:
> Nathan Fontenot <nfont at austin.ibm.com> writes:
>> version 2 of the patch set with updates from comments.
>> The Dynamic Logical Partitioning (DLPAR) capabilities of the powerpc pseries
>> platform allows for the addition and removal of resources (i.e. cpus,
>> memory, pci devices) from a partition. The removal of a resource involves
>> removing the resource's node from the device tree and then returning the
>> resource to firmware via the rtas set-indicator call. To add a resource, it
>> is first obtained from firmware via the rtas set-indicator call and then a
>> new device tree node is created using the ibm,configure-coinnector rtas call
>> and added to the device tree.
>> The following set of patches implements the needed infrastructure to have the
>> kernel handle the DLPAR addition and removal of cpus (other DLPAR'able items to
>> follow in future patches). The framework for this is to create a set of
>> probe/release sysfs files that will facilitate arch-specific call-outs to handle
>> addition and removal of cpus to the system.
> How does this differ from /sys/devices/system/cpu/cpuX/online ?
> From the descriptions it appears that we already have what you are trying to
> add and you just need to tie it into DLPAR on ppc.
The DLPAR and hotplug operations need to be kept separate for ppc. One big reason
for this is that DLPAR operations on ppc are driven from the Hardware Management
Console (HMC). It is (almost always) not possible to DLPAR add a resource (i.e.
cpu, memory,pcie device) from the OS. There are HMC <=> firmware interactions
that must occur to make the resource available to the partition.
Second is that there are times when one would want to hotplug add/remove
a cpu but not dlpar add/remove it.
When a resource is DLPAR removed, the OS has no knowledge that the resource exists.
Likewise, this allows the addition of resources from the HMC after the system is booted.
This is a feature of ppc partitions that allows for the dynamic movement of resources
More information about the Linuxppc-dev