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.