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.