VMM thread interrupt offload

The VMM thread interrupt offload (VTIOL) infrastructure allows the VMM to offload the processing of the iodone() service to kernel threads.

The VTIOL function is used to reduce the possibilities in which the iodone() process impacts the performance of a high priority thread. The VTIOL function handles the iodone() service by using background threads instead of interrupting the high priority process. The VMM uses several heuristics for determining whether to offload the processing of the iodone() service. For example, certain I/O operations that do not have explicit waiter threads, such as background write operations and read-ahead operations can be offloaded. I/O operations with explicit waiter threads might indicate that the I/O operations must be completed on a higher priority. In these cases, the I/O operations are not offloaded, and are processed at the interrupt level.

VMM thread interrupt offload reprioritization

The VMM thread interrupt offload reprioritization (VTIOLR) infrastructure provides improvements to the VMM thread interrupt offload (VTIOL) function.

The VTIOLR infrastructure allows the AIX® operating system to prioritize the order in which offloaded VMM I/O operations are processed based on the specified criteria. For example, if a small read() operation is queued after a large I/O completion operation from a file system sync() process, the read() operation might be considered as a foreground job while the sync() process can be considered as a background job. In this case, the VTIOLR feature can re-prioritize the read() operation and complete the I/O operation before processing the other iodone() buffers. The re-prioritized iodone() buffers are processed by offloading them to a set of background threads. Thus, the I/O operation is completed by the background threads and not at the interrupt level.