Degraded I/O Performance using a Windows XP Virtual Machine with Windows Server 2008 Hyper-V

Applies To: Windows Server 2008, Windows Server 2008 R2, Windows XP

This article explains the degradation of I/O performance when using a Windows® XP virtual machine with Windows Server® 2008 Hyper-V™ technology.

Symptoms

When using an x86-based Windows XP guest operating system on Windows Server°2008 with the Hyper-V role enabled, you observe degraded I/O performance and increased CPU utilization in the Windows XP guest.

Cause

This I/O performance degradation is caused by Windows XP because it frequently accesses the processor’s Advanced Programmable Interrupt Controller’s (APIC) Task Priority Register (TPR). This is an expected behavior in Windows XP that occurs whenever the processor’s Interrupt Request Level (IRQL) is raised or lowered. In a virtual environment, accessing the APIC’s TPR is an operation that must be intercepted and virtualized by the hypervisor. Operations that are intercepted and virtualized by the hypervisor introduce additional virtualization overhead costs.

Note

The x86-based editions of Windows Server°2003 SP2, Windows Vista®, and Windows Server°2008 do not exhibit this behavior when run on virtual machines. These operating systems include an optimization in the Windows kernel that eliminates access to the APIC TPR as the IRQL is raised and lowered.

Resolution

● While there is no resolution available at this time, there are workarounds available in some cases. For Intel-based servers, Intel’s VT FlexPriority feature mitigates the virtualization overhead for Windows XP virtual machines run on Windows Server 2008 Hyper-V technology by eliminating most hypervisor intercepts. Intercepts caused by Windows XP frequently accessing the TPR. The 5200, 5400, 5500 and 7400 range of models of Intel Xeon processor support VT FlexPriority.

● If your computer has a processor manufactured by AMD, there is a software workaround that mitigates the virtualization overhead for Windows XP virtual machines running on AMD-based servers with Windows Server 2008 Hyper-V technology. Please contact your system vendor for a workaround.