I/O entitled memory

I/O entitled memory is the maximum amount of physical memory (from the shared memory pool) that is guaranteed to be available to a logical partition that uses shared memory (hereafter referred to as a shared memory partition) for its I/O devices at any given time.

Each shared memory partition is entitled to some portion of the shared memory pool so that the I/O devices that are assigned to the shared memory partition have access to physical memory during I/O operations. If the minimum amount of memory that I/O devices require for I/O operations does not reside in the shared memory pool for the duration the device needs the memory, the device fails. Virtual adapters that are entitled to physical memory from the shared memory pool include virtual SCSI adapters, virtual Ethernet adapters, and virtual Fibre Channel adapters. Virtual serial adapters are not entitled to physical memory from the shared memory pool.

The following figure shows a shared memory partition with I/O entitled memory.

Figure 1. A shared memory partition whose I/O entitled memory is greater than the amount of physical memory that it currently uses for its I/O devices
A shared memory partition that uses half of its I/O entitled memory

The figure shows a shared memory partition with 128 MB of I/O entitled memory. The shared memory partition uses 64 MB of physical memory for its I/O devices, which is less than its I/O entitled memory of 128 MB.

As depicted in the previous figure, a shared memory partition might not use all of its I/O entitled memory at any given time. Unused portions of the I/O entitled memory assigned to a shared memory partition are available to the hypervisor to allocate to other shared memory partitions, if necessary. The hypervisor does not reserve unused portions of I/O entitled memory for the shared memory partition to use in the future. However, the hypervisor guarantees that the shared memory partition can use the entire portion of the I/O entitled memory that is assigned to it as needed. If the shared memory partition later requires some of its unused I/O entitled memory, the hypervisor must allocate enough physical memory from the shared memory pool to satisfy the new I/O memory requirement, without exceeding the I/O entitled memory that is assigned to the shared memory partition.

For example, you assign 128 MB of I/O entitled memory to a shared memory partition. The shared memory partition uses only 64 MB for its I/O devices. Thus, the hypervisor allocates 64 MB of physical memory from the shared memory pool to the shared memory partition for its I/O devices. The remaining 64 MB is available to the hypervisor to allocate to other shared memory partitions, if necessary. Later, you add two virtual adapters to the shared memory partition, each requiring 16 MB of memory. Thus, the shared memory partition needs an additional 32 MB of physical memory for its I/O devices. Because the shared memory partition currently uses only 64 MB of physical memory for its I/O devices and the shared memory partition is entitled to use up to 128 MB for its I/O devices, the hypervisor allocates an additional 32 MB of physical memory from the shared memory pool to the shared memory partition to accommodate the new virtual adapters. The shared memory partition now uses 96 MB of physical memory from the shared memory pool for its I/O devices.

Because unused portions of I/O entitled memory are available to the hypervisor to allocate elsewhere, for the amount of total physical memory that the hypervisor allocates from the shared memory pool to a shared memory partition can be less than the I/O entitled memory of the shared memory partition. The following figure shows this situation.

Figure 2. A shared memory partition whose I/O entitled memory is greater than the total amount of physical memory allocated to it
A shared memory partition whose I/O entitled memory is greater than the total amount of physical memory allocated to it

The figure shows a shared memory partition with 128 MB of I/O entitled memory. The shared memory partition uses 64 MB of physical memory for its I/O devices. The unused portion of the I/O entitled memory, 64 MB, is available to the hypervisor to allocate to other shared memory partitions, if necessary. The hypervisor allocates a total of 96 MB of physical memory from the shared memory pool to the shared memory partition, which is less than the I/O entitled memory of 128 MB.

When you create a shared memory partition, the Hardware Management Console (HMC) automatically sets the I/O entitled memory for the shared memory partition. When you activate a shared memory partition, the HMC sets the I/O entitled memory mode to the auto mode. In the auto mode, the HMC automatically adjusts the I/O entitled memory for the shared memory partition when you add or remove virtual adapters.

The I/O entitled memory mode can also be set to the manual mode. You can dynamically change the I/O entitled memory mode to the manual mode and then dynamically change the I/O entitled memory for the shared memory partition. When you add or remove a virtual adapter to or from the shared memory partition in manual mode, the HMC does not automatically adjust the I/O entitled memory. Therefore, you might need to dynamically adjust the I/O entitled memory when you dynamically add or remove adapters to or from the shared memory partition. On HMC-managed systems, you use the graphical interface to dynamically change the I/O entitled memory mode. When the I/O entitled memory mode is in the manual mode, you can also use the graphical interface to dynamically change the amount of I/O entitled memory that is assigned to a shared memory partition. When the I/O entitled memory mode is in the manual mode, you can also use the chhwres command to dynamically change the amount of I/O entitled memory that is assigned to a shared memory partition. When you restart a shared memory partition, the I/O entitled memory mode is set to the auto mode regardless of what the I/O entitled memory mode was set to before you restarted the shared memory partition.

When the amount of physical memory that a shared memory partition uses for its I/O devices is equal to the I/O entitled memory that is assigned to the shared memory partition, the shared memory partition cannot use any more physical memory for its I/O devices. In this situation, the following actions can occur:

  • The operating system that runs in the shared memory partition manages the I/O operations so that the workload that runs in the shared memory partition operates within the I/O entitled memory that is assigned to the shared memory partition. If the workload attempts to use more physical memory for I/O operations than the I/O entitled memory that is assigned to the shared memory partition, the operating system delays some I/O operations while it runs other I/O operations. In this situation, the I/O entitled memory of the shared memory partition constrains the I/O configuration of the shared memory partition because the operating system does not have enough physical memory to run all of the I/O operations simultaneously.
  • When you dynamically add a virtual adapter to the shared memory partition and the I/O entitled memory mode is in the manual mode, the I/O configuration of the shared memory partition might become constrained, or the adapter might fail when you attempt to configure it. If the adapter fails, enough I/O entitled memory is not assigned to the shared memory partition to accommodate the new adapter. To resolve the problem, you can dynamically increase the amount of I/O entitled memory that is assigned to the shared memory partition, or you can remove some existing virtual adapters from the shared memory partition. When you remove virtual adapters from the shared memory partition, the physical memory that those adapters were using becomes available for the new adapter.
  • When you dynamically add a virtual adapter to the shared memory partition and the I/O entitled memory mode is in the auto mode, the HMC automatically increases the I/O entitled memory assigned to the shared memory partition to accommodate the new adapter. If the HMC cannot increase the I/O entitled memory of the shared memory partition, enough physical memory is not available in the shared memory pool for the hypervisor to allocate to the shared memory partition and the adapter cannot be assigned to the shared memory partition. To resolve the problem, you can add physical memory to the shared memory pool, or you can remove some existing virtual adapters from the shared memory partition. When you remove virtual adapters from the shared memory partition, the physical memory that those adapters were using becomes available for the new adapter.