|Skip Navigation Links|
|Exit Print View|
|Oracle VM Server for SPARC 2.1 Release Notes Oracle VM Server for SPARC|
The domain manager automatically selects the physical resources to be assigned to a domain. You can also explicitly choose the physical resources to assign to a domain. Other than for the control domain, this capability is available when the domain runs the Oracle Solaris 10 or Oracle Solaris 11 OS on any platform that supports the Oracle VM Server for SPARC 2.1 software. For the control domain, this capability is only available when it runs the Oracle Solaris 11 OS.
Note - This capability is only available with the Oracle Solaris 11 SRU 4.
Resources that you explicitly assign are called named resources. Resources that are automatically assigned are called anonymous resources.
Caution - The capability to assign named resources is intended to be used only by expert administrators as it requires careful planning to use.
You can explicitly assign physical resources to the control domain and to guest domains. Because the control domain remains active, it might optionally be in delayed reconfiguration mode before you make physical resource assignments. Or, delayed reconfiguration mode is automatically triggered when you make physical assignments. See Managing Physical Resources on the Control Domain. For information about physical resource restrictions, see Restrictions for Managing Physical Resources on Domains.
You can explicitly assign the following physical resources to the control domain and to guest domains:
Physical CPUs. Assign the physical core IDs to the domain by setting the cid property. You can set this property by running the following commands:
# ldm add-core cid=core-ID[,core-ID[,...]] ldom # ldm set-core cid=core-ID[,core-ID[,...]] ldom # ldm rm-core [-f] cid=core-ID[,core-ID[,...]] ldom
If you specify a core ID as the value of the cid property, core-ID is explicitly assigned to or removed from the domain.
Physical memory. Assign a set of contiguous physical memory regions to a domain by setting the mblock property. Each physical memory region is specified as a physical memory starting address and as a size. You can set this property by running the following commands:
# ldm add-mem mblock=PA-start:size[,PA-start:size[,...]] ldom # ldm set-mem mblock=PA-start:size[,PA-start:size[,...]] ldom # ldm rm-mem mblock=PA-start:size[,PA-start:size[,...]] ldom
To assign a memory block to or remove it from a domain, set the mblock property. A valid value includes a physical memory starting address (PA-start) and a memory block size (size) separated by a colon character (:).
Note - You cannot use dynamic reconfiguration (DR) to move memory or core resources between running domains when you set the mblock or cid property, respectively. To move resources between domains, ensure that the domains are in a bound or unbound state. For information about managing physical resources on the control domain, see Managing Physical Resources on the Control Domain.
You can use the ldm list-constraints command to view the resource constraints for domains. The physical-bindings constraint specifies which resource types have been physically assigned to a domain. When a domain is created, the physical-bindings constraint is unset until a physical resource is assigned to that domain. By setting the mblock property, the physical-bindings constraint is set to memory. Likewise, by setting the cid property, the physical-bindings constraint is set to core. If both the cid and mblock properties are set, the physical-bindings constraint is set to core,memory.
To change the physical-bindings constraint for a resource type on the control domain, you must first remove all resources of that type by setting the number of resources to zero. Use one of the following methods:
Set the number of resources to 0 by using the ldm set-core 0 or ldm set-mem 0 command.
Remove all of the specified physical-bindings constraints for a particular resource type.
To remove all named cores and memory blocks, run the ldm set-core cid= and ldm set-mem mblock= commands, respectively. To remove all anonymous cores and memory blocks, run the ldm set-core 0 and ldm set-mem 0 commands, respectively.
Because the control domain must have CPUs and memory allocated, specifying cid= or mblock= on the control domain returns an error.
Delete each resource from the domain individually.
If you use the ldm add-mem or ldm set-mem command to assign multiple physical memory blocks, the addresses and sizes are checked immediately. Also, a domain that has partial cores assigned to it can use the whole-core semantics only if the remaining CPUs of those cores are free and available.
Because the control domain is always active, it might optionally be in delayed reconfiguration mode before you make physical resource assignments. When you explicitly assign physical resources, the control domain is automatically placed in delayed reconfiguration mode and the physical-bindings constraint is set.
If physical-bindings=core, running the ldm set-core cid=core-ID primary command or the ldm set-vcpu CPU-count primary command causes the physical-bindings constraint to be cleared on the next reboot. If the physical-bindings constraint is not set to core, run the ldm set-core cid=core-ID primary command to set physical-bindings=core on the next reboot.
If physical-bindings=memory, running the ldm set-mem size primary command causes the physical-bindings constraint to be cleared on the next reboot. If the physical-bindings constraint is not set to memory, run the ldm set-mem mblock=PA-start:size primary command to set the physical-bindings constraint on the next reboot.
Note - When the control domain is in delayed reconfiguration mode, you can perform unlimited memory assignments by using the ldm add-mem and ldm rm-mem commands on the control domain. However, you can perform only one core assignment to the control domain by using the ldm set-core command.
The following restrictions apply to the assignment of physical resources on domains:
You cannot make physical and non-physical memory bindings or physical and non-physical core bindings in the same domain. However, you can have non-physical memory and physical core bindings or non-physical core and physical memory bindings in the same domain.
When you add a physical resource to a domain, the corresponding resource type becomes constrained as a physical binding.
Attempts to add individual CPUs to or remove them from a domain where physical-bindings=core will fail.
For unbound resources, the allocation and checking of the resources can only occur when you run the ldm bind command.
When removing physical memory from a domain, you must remove the exact physical memory block that was previously added.
Physical memory ranges must not overlap.
You cannot use the ldm add-vcpu -c or ldm set-vcpu -c command to assign a physical resource to a domain.