vparresourcesvparresources - Description of virtual partition resoures. vparresources(5) vparresources(5) NAME vparresources - description of virtual partition resources and their requirements DESCRIPTION Hardware resources are the most important property of a virtual partition (vPar). These resources are divided into three major categories: + CPUs, or processors + Memory + I/O devices, such as disks, terminals, and printers. CPUs are further subdivided into bound and unbound processors. A bound processor is interrupt-enabled and, at initial release, cannot be de-configured while the vPar is running. An unbound, or floating, processor cannot process interrupts, but can be de-configured from a running vPar, and assigned to another running vPar. Each vPar can configure a subset of total system hardware resources such that a given physical resource is assigned to at most one vPar. This job is managed by two of the six virtual partition commands: + vparcreate(1M), used when creating a new vPar. Resources can only be added. + vparmodify(1M), used when modifying an existing vPar configuration. Resources can be added, modified, or deleted. Each command has specific resource syntax and semantic requirements. For example, some resource changes can only be made if the target vPar is not running. Some syntax forms can be specified multiple times in one command. Others can only be specified once. All of these conditions are described in the tables below. The general form of a resource specification is up to five positional fields delimited by colons (":"). No whitespace is allowed within any field. Table I summarizes the three categories and all the allowable forms for each. Table II specifies which forms are allowed for each of the three tasks (add, modify, or delete). Table III is a detailed description of each syntax form and the conditions required for its use. Table I. Resource syntax summary ______________________________________________________ Resource Form # times/command ___________________________________________________ CPU cpu:path Multiple cpu::num Once cpu:::[min][:[max]] Once ___________________________________________________ I/O io:path[:attr1[,attr2]] Multiple ___________________________________________________ Memory mem::size Once mem:::base:range Multiple ___________________________________________________ The first field is always one of the (case-insensitive) strings cpu, io, or mem. The second field, when used, is a hardware path, for example, 10/12/6. num, min, and max are all positive integers. size and range are positive 64-bit integers in units of megabytes. base is an unsigned 64-bit integer in units of bytes. The commands round each of them upward as required to 64 megabyte boundaries. size, range, and base may each be specified in decimal or in hexadecimal. A hex specification should be preceded by 0x, as in 0x8000000. The attributes for the I/O specification are zero, one, or both of the following (case-insensitive) strings: ALTBOOT and BOOT. If both are specified, separate them with a comma. Each of the attributes can be assigned to no more than one I/O device. If it is already assigned to a device, a new assignment silently de- assigns it from its present device. However, one device can associate both attributes. This means it is possible for one device to own both the ALTBOOT and BOOT attributes, but it is not possible for two or more devices to own BOOT. Users must guard against assigning an attribute to an inappropriate device, for example, assigning BOOT to a tty. The commands do not check for this, nor do they prevent it. Table II. Allowed forms for each task ______________________________________________________ Allowed with Task Form vPar running ___________________________________________________ -a (add) cpu:path No cpu::num Yes cpu:::[min][:[max]] N/A (vparcreate only) io:path[:attr1[,attr2]] No mem::size No mem:::base:range No ___________________________________________________ -m (modify) cpu::num Yes cpu:::[min][:[max]] No io:path[:attr1[,attr2]] No mem::size No ___________________________________________________ -d (delete) cpu:path No cpu::num Yes io:path[:attr1[,attr2]] No mem::size No mem:::base:range No ___________________________________________________ The forms above are subject to the following semantic rules enforced by the commands.Note that according to Table II, except for the cpu::num form, a vPar must be in the Down state (or in an alternate database) to apply any of the changes described below. This requirement may be relaxed or removed in a future release. + CPUs + The total number of CPUs assigned to a vPar, specified by cpu::num, must always be within the range specified by the cpu:::min:max specification. min of these are bound; (num-min) are unbound. + Any or all bound CPUs can be specified by explicit path, the cpu:path form. Any that are not so specified are allocated from the available pool and bound by the vPar monitor. A corollary to this is that you cannot specify more than the min CPUs by explicit path. If you wish to specify more, you must first increase the min, which in turn may require you to increase the max, num, or both. When you use -a cpu:path or -d cpu:path you do not change the total number of CPUs in your vPar. Instead, you replace a monitor-assigned bound CPU with one that you specify (-a) or replace a CPU that you specified with a monitor-assigned CPU (-d). Hewlett-Packard recommends that users configure specific CPUs only when required for performance reasons. In other situations, specify only the total number of CPUs (num) and how many of these should be bound (min), and allow the monitor to manage the actual CPUs allocated. + Since the monitor is not consulted when you are configuring a vPar in an alternate database (it need not even be running), you can specify any value for min (but <= max) in this case. When this database is loaded into the monitor, the monitor adjusts min downward as required if the specified number of CPUs is not available. + Defaults: When a vPar is created, the following defaults are in effect: + min: Platform dependent, usually 1 + num: 1 + max: If the vPar is created in an alternate database, 32767. If it is created in the live monitor database, max is equal to the total number of CPUs on the entire hardware system. You can modify these defaults with command line options to the vparcreate or vparmodify command. + Memory + The total amount of memory specified in explicit memory ranges, using the mem:::base:range specification, must be less than or equal to the total memory assigned to the vPar using the mem::size specification. When you specify a specific range of memory (whether adding or deleting), you do not change the total amount of memory assigned to the vPar. When adding, you merely specify that the particular range you specify be one part of the total amount assigned to your vPar. When deleting, the specific range is returned to the pool of unspecified total memory assigned to the vPar. Hewlett-Packard recommends that users configure specific memory ranges only when required for performance reasons. In other situations, specify only total memory and allow the monitor to manage the actual ranges allocated. EXAMPLES If more than one task is specified in a command, they are processed in the order (left-to-right) in which they are encountered on the command line. Some tasks will affect the outcome of others. Here is an example of correct usage, as well as counterexamples within the description. vparcreate -p winona2 -a cpu::2 -a cpu:::2:4 -a cpu:41 -a cpu:45 -a mem::1280 -a mem:::0x40000000:128 -a io:0/8 -a io:1/10 -a 0/8/0/0.5.0:boot At creation time, before any options are processed, min is equal to 1, as does num. Assume that the default max is sufficiently high, and that the specified resources are available for allocation. + -a cpu::2 succeeds because num(2) is within the range of the min and the max. + -a cpu:::2:4 then succeeds because num(2) is still within the required range. Note that if the two options were reversed the command would return an error due to left-to-right option processing, and the desired min would exceed the default num. + Finally, the specification of the two CPUs at explicit paths 41 and 45 succeeds because such assignments create bound CPUs. Since we have set min equal to 2, they can be accommodated. Note that without the first two -a options, the -a cpu:45 option would fail, because there would only be room for one (the default) bound CPU. + The allocation of 128 MB of specific memory at address 0x40000000 succeeds only because the total allocated memory was first set to 1280 MB. The 128 MB is taken from that 1280 MB; no new memory is added as a result of the -a mem:::0x40000000:128 option. The following vparmodify(1M) command adds two floating (unbound) CPUs to a vPar that has the Static attribute set. The Static attribute is then restored. vparmodify -p winona3 -S dynamic -a cpu::2 -S static Table III. Detailed resource specifications Task: -a cpu:path _________________________________________________________________ Explanation Assigns a CPU resource at a specific path (bound CPU) to the vPar's configuration. The CPU replaces a monitor-assigned bound CPU. Bound CPUs are able to process interrupts. _______________________________________________________________ Value A text string of the form returned by the ioscan(1M) command, such as "10/12/6" _______________________________________________________________ Usage The vPar must not be running. This restriction Restrictions may be removed in a future release. The total number of CPUs at a specific path must be <= min In addition, if the vPar is in the monitor database: o A CPU must exist at path, o It must be available (not assigned to a vPar, including the target vPar). _______________________________________________________________ Usage The addition does not increase either the number Guidelines of total CPUs or bound CPUs allocated to the vPar. Instead, it replaces a previously bound CPU whose path had been selected by the monitor. To increase total CPU allocation, specify an appropriate new num. To increase the number of bound CPUs, specify a new min. Hewlett-Packard recommends that users configure specific CPUs only when required for performance reasons.In other situations, specify only the total number of CPUs (num) and how many of these should be bound (min), and allow the monitor to manage the actual CPUs allocated. _______________________________________________________________ Task: -a cpu::num ___________________________________________________________________ Explanation Adds num unbound CPUs to the vPar's configuration. The CPUs are drawn from a systemwide pool of available CPUs. _________________________________________________________________ Value A positive integer _________________________________________________________________ Usage If the vPar is in an alternate database file or Restrictions is in the live monitor database but not running: o Total number of CPUs <= max In addition, if the vPar is running: o num CPUs must exist on the system, o They must have been available (not bound to any vPar) at the time the vPar was booted. If another vPar is deleted with the vparremove command, its bound CPUs cannot be added as floaters to a running vPar. _________________________________________________________________ Task: -a cpu:::[min][:[max]] __________________________________________________________________ Explanation Specifies the minimum and maximum number of CPUs allowed for the vPar. This operation does not allocate any CPUs, but specifies the limits of other allocation tasks. Both min and max are optional. The default min is platform-dependent but is currently = 1. The default max is 32767 if creating a vPar in an alternate database. If creating a vPar in the monitor database, the default max is the total number of CPUs on the entire hardware system. ________________________________________________________________ Value If specified, min and max must be positive integers such that min <= max. ________________________________________________________________ Usage This option is allowed only in the vparcreate Restrictions command. min cannot exceed the total number of CPUs. The default total when the vPar is created is 1. Use the -a cpu::num option to change the total before setting a min other than 1. max cannot be less than the total. min cannot be less than the total number of CPUs configured by explicit path. ________________________________________________________________ Task: -a io:path[:attr1[,attr2]] ______________________________________________________________________ Explanation Adds the I/O resource at path to the vPar. If attributes are specified, they are associated with the resource. If the vPar already owns the resource, any specified attributes are added to its configuration. This option only adds specified attributes. The state of unspecified attributes is not changed. ____________________________________________________________________ Value path: A text string of the form returned by the ioscan(1M) command, such as "10/12/6" attr: One or both of the case-insensitive attribute strings ALTBOOT and BOOT. If both are specified, they are separated by a comma (","). ____________________________________________________________________ Usage The vPar must not be running. Restrictions The I/O resource must either be unassigned or (when adding attributes to an already assigned resource) be assigned to the target vPar. ____________________________________________________________________ Usage At most one device can be assigned the ALTBOOT Guidelines and BOOT attributes. Assigning one of these attributes to a device silently deletes it from its former device, if any. Caution: You should assign attributes to appropriate devices, but this is not checked. For example, ALTBOOT and BOOT should be assigned to a disk or tape. Failure to do this may result in an unbootable partition. ____________________________________________________________________ Task: -a mem::size ______________________________________________________________ Explanation Specifies the increase, in megabytes rounded upward to a 64 megabyte boundary, in the total amount of memory to be allocated to the vPar. This memory is taken from unspecified ranges of memory available to the system when the partition boots. ____________________________________________________________ Value A positive 64-bit integer <= 17592186044352 ____________________________________________________________ Usage The vPar must not be running. Restrictions If the vPar is in the monitor database, this memory must physically exist and be available after the memory requirements of all other vPars have been satisfied. If the vPar is in an alternate database file, the assignment always succeeds. The amount of memory actually allocated if the database is loaded into the monitor may be less if some or all of it is needed in other vPars. ____________________________________________________________ Task: -a mem:::base:range ________________________________________________________________________ Explanation Specifies an explicit address space of memory starting at base bytes and extending for range megabytes.Both quantities are rounded upward as required to be aligned on 64 megabyte boundaries. ______________________________________________________________________ Values Base: An unsigned 64-bit integer <= 0xfffffffffc000000 Range: A positive 64-bit integer <= 17592186044352 ______________________________________________________________________ Usage The vPar must not be running. Restrictions No part of the range may be already owned by this or another vPar. If the vPar is in the monitor database, the entire range must exist in the system. The total memory allocated in specific ranges must not exceed the vPar's memory size specification. ______________________________________________________________________ Usage Addition of specific memory ranges does not increase Guidelines the total amount of memory allocated to the vPar. Any such memory is a part of that total amount. Caution:It is possible to specify memory ranges and sizes such that none of the vPars will launch. Hewlett-Packard recommends that users configure specific memory ranges only when required for performance reasons. In other situations, specify only total memory and allow the monitor to manage the actual ranges allocated. ______________________________________________________________________ Task: -m cpu::num ___________________________________________________________________ Explanation Sets the total number of CPUs (bound and unbound) to num. _________________________________________________________________ Value A positive integer _________________________________________________________________ Usage If the vPar is in an alternate database file Restrictions or is in the live monitor database but not running: o num must be between min and max. In addition, if the vPar is in the live monitor database and num increases the total: o num CPUs must exist on the system, o They must have been available (not bound to any vPar) at the time the vPar was booted. If another vPar is deleted with the vparremove command, its bound CPUs cannot be added as floaters to a running vPar. _________________________________________________________________ Task: -m cpu:::[min][:[max]] ______________________________________________________________ Explanation Specifies the minimum and maximum number of CPUs allowed for the vPar. This operation does not allocate any CPUs, but specifies the limits of other allocation tasks. You can change only min or max by not specifying the other field. ____________________________________________________________ Value If specified, min and max must be positive integers such that min <= max. ____________________________________________________________ Usage The vPar must not be running. Restrictions min cannot exceed the total number of CPUs. max cannot be less than the total. min cannot be less than the total number of CPUs configured by explicit path. ____________________________________________________________ Task: -m io:path[:attr1[,attr2]] ______________________________________________________________________ Explanation Changes the attributes of the resource to those specified in the option. Omitted attributes are removed from the attribute set. To retain an attribute, it must be specified. ____________________________________________________________________ Value path: A text string of the form returned by the ioscan(1M) command, such as "10/12/6" attr: One or both of the case-insensitive attribute strings ALTBOOT and BOOT. If both are specified, they are separated by a comma (","). ____________________________________________________________________ Usage The vPar must not be running. Restrictions The I/O resource must be assigned to the target vPar. Only attributes may be modified. ____________________________________________________________________ Usage At most one device can be assigned the ALTBOOT Guidelines and BOOT attributes. Assigning one of these attributes to a device silently deletes it from its former device, if any. Caution:You should assign attributes to appropriate devices, but this is not checked. For example, ALTBOOT and BOOT should be assigned to a disk or tape. Failure to do this may result in an unbootable partition. ____________________________________________________________________ Task: -m mem::size ___________________________________________________________________ Explanation Specifies the total amount of memory, in megabytes rounded upward to a 64 megabyte boundary, to be allocated to the vPar. Any memory in excess of that specifically allocated by base and range is taken from unspecified ranges of memory available to the system when the partition boots. _________________________________________________________________ Value A positive 64-bit integer <= 17592186044352 _________________________________________________________________ Usage The vPar must not be running. Restrictions A decrease in total memory allocation must not result in a total less than that of all memory allocated in specific memory ranges. If the vPar is in the monitor database and the specification results in an increased memory allocation, the memory must physically exist and be available after the memory requirements of all other vPars have been satisfied. If the vPar is in an alternate database file and total memory is increased, the assignment always succeeds.The amount of memory actually allocated if the database is loaded into the monitor may be less if some or all of it is needed in other vPars. _________________________________________________________________ Task: -d cpu:path _________________________________________________________________ Explanation De-assigns the bound CPU at the specified hardware path from the vPar and replaces it with a bound CPU of the monitor's choice. Depending on availability, this may be the same CPU that was de-assigned. _______________________________________________________________ Value A text string of the form returned by the ioscan(1M) command, such as "10/12/6" _______________________________________________________________ Usage The vPar must not be running. Restrictions The resource at the specified path must be a CPU resource. The vPar must own the resource. _______________________________________________________________ Usage The deletion does not reduce either the number Guidelines of total CPUs or bound CPUs allocated to the vPar. Instead, it replaces the explicitly specified CPU with a bound CPU selected by the monitor.To reduce total CPU allocation, specify an appropriate new num. To reduce the number of bound CPUs, specify a new min. Hewlett-Packard recommends that users configure specific CPUs only when required for performance reasons.In other situations, specify only the total number of CPUs (num) and how many of these should be bound (min), and allow the monitor to manage the actual CPUs allocated. _______________________________________________________________ Task: -d cpu::num _______________________________________________________ Explanation Deletes num CPUs from the vPar's total configuration. _____________________________________________________ Value A positive integer _____________________________________________________ Usage The vPar must own at least num CPUs. Restrictions The new total number of CPUs >= min _____________________________________________________ Task: -d io:path[:attr1[,attr2]] ______________________________________________________________________ Explanation Removes the specified attributes of the resource leaving any previously assigned attributes unchanged and the resource itself assigned to the vPar. If no attribute is specified, removes the resource and all its attributes. ____________________________________________________________________ Value path: A text string of the form returned by the ioscan(1M) command, such as "10/12/6" attr: One or both of the case-insensitive attribute strings ALTBOOT and BOOT. If both are specified, they are separated by a comma (","). ____________________________________________________________________ Usage The vPar must not be running. Restrictions The I/O resource must be assigned to the target vPar. ____________________________________________________________________ Usage Deleting an attribute from an I/O device does Guidelines not cause it to be assigned to another. You must do that in a separate option or command. At most one device can be assigned the ALTBOOT and BOOT attributes. Caution:You should assign attributes to appropriate devices, but this is not checked. For example, ALTBOOT and BOOT should be assigned to a disk or tape. Failure to do this may result in an unbootable partition. ____________________________________________________________________ Task: -d mem::size ______________________________________________________________ Explanation Specifies the decrease, in megabytes rounded upward to a 64 megabyte boundary, in the amount of total memory allocated to the vPar . ____________________________________________________________ Value A positive 64-bit integer <= 17592186044352 ____________________________________________________________ Usage The vPar must not be running. Restrictions The vPar must own at least the specified amount (after rounding) of non-specific memory. The decrease must not result in a total less than that of all memory allocated in specific memory ranges. ____________________________________________________________ Task: -d mem:::base:range ________________________________________________________________________ Explanation De-assigns an explicit address space of memory starting at base bytes and extending for range megabytes. Both quantities are rounded upward as required to be aligned on 64 megabyte boundaries. ______________________________________________________________________ Values Base: An unsigned 64-bit integer <= 0xfffffffffc000000 Range: A positive 64-bit integer <= 17592186044352 ______________________________________________________________________ Usage The vPar must not be running. Restrictions The vPar must own the entire range. Either the start or end point of the specified range must match the start or end point of an existing range. ______________________________________________________________________ Usage De-assigning specific memory ranges does not decrease Guidelines the total amount of memory allocated to the vPar. Caution:It is possible to specify memory ranges and sizes such that none of the vPars will launch. Hewlett-Packard recommends that users configure specific memory ranges only when required for performance reasons. In other situations, specify only total memory and allow the monitor to manage the actual ranges allocated. ______________________________________________________________________ SEE ALSO vparboot(1M) , vparcreate(1M) , vparmodify(1M) , vparremove(1M) , vparreset(1M) , vparstatus(1M) , vpartition(5) . |