Assigning Physical Resources to Domains

The Logical Domains Manager automatically selects the physical resources to be assigned to a domain. The Oracle VM Server for SPARC 3.6 software also enables expert administrators to explicitly choose the physical resources to assign to or remove from a domain.

Resources that you explicitly assign are called named resources. Resources that are automatically assigned are called anonymous resources.

Caution:

Do not assign named resources unless you are an expert administrator.

You can explicitly assign physical resources to the control domain and to guest domains. Because the control domain remains active, the control domain might optionally be in a delayed reconfiguration before you make physical resource assignments. Or, a delayed reconfiguration 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.

    The cid property should be used only by an administrator who is knowledgeable about the topology of the system to be configured. This advanced configuration feature enforces specific allocation rules and might affect the overall performance of the system.

    You can set this property by running any of the following commands:

    ldm add-core cid=core-ID[,core-ID[,...]] domain-name
    
    ldm set-core cid=core-ID[,core-ID[,...]] domain-name
    
    ldm remove-core [-f] cid=core-ID[,core-ID[,...]] domain-name

    If you specify a core ID as the value of the cid property, core-ID is explicitly assigned to or removed from the domain.

    Note:

    You cannot use the ldm add-core command to add named core resources to a domain that already uses anonymous core resources.

    You might encounter a situation where a guest domain OS binds a process running on a thread to a particular virtual CPU. If you later attempt to remove the core that is associated with that virtual CPU, the bound thread prevents the virtual CPU from being removed and leaves behind a partial core. As a result, you might see the following error message:

    Vcpu n: cpu has bound threads

    In this situation, re-add the core. Then, you can do one of the following actions:

    • Release the physical binding from the thread, and retry.

    • Remove a different named core.

  • 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 start address and a size.

    The mblock property should be used only by an administrator who is knowledgeable about the topology of the system to be configured. This advanced configuration feature enforces specific allocation rules and might affect the overall performance of the system.

    You can set this property by running any of the following commands:

    ldm add-mem mblock=PA-start:size[,PA-start:size[,...]] domain-name
    
    ldm set-mem mblock=PA-start:size[,PA-start:size[,...]] domain-name
    
    ldm remove-mem mblock=PA-start:size[,PA-start:size[,...]] domain-name

    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 (:).

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. A physically assigned resource or a physically bound resource is also referred to as a named resource.

The physical-bindings constraint is set to particular values in the following cases:

  • memory when the mblock property is specified

  • core when the cid property is specified

  • core,memory when both the cid and mblock properties are specified