Features/Virtx2apic

= Virt x2apic =

Summary
x2apic is an x86 feature that improves performance, especially on large systems. Virt x2apic is a port of this feature for KVM, improving guest performance, especially for guests with many virtual processors.

Owner

 * Name: Avi Kivity
 * Email: 

Current status

 * Targeted release: Fedora 13
 * Last updated: 2010-04-06
 * Percentage of completion: 100%

Detailed Description
x2apic improves guest performance by reducing the overhead of APIC access, which is used to program timers and for issuing inter-processor interrupts. By exposing x2apic to guests, and by enabling the guest to utilize x2apic, we improve guest performance.

Benefit to Fedora
Fedora users will see improved guest performance and lower cpu utilization.

Scope

 * x2apic support is already present in the guest and host.
 * libvirt/virt-manager = ?

How To Test

 * Run a Fedora 13 guest on a Fedora 13 host, with x2apic enabled. Installs via virt-install and virt-manager should enable this automatically.
 * Verify that x2apic is present in /proc/cpuinfo.
 * Verify dmesg contains "Enabling x2apic".
 * For a bonus, measure the overhead of an IPI with and without x2apic.

User Experience
User experience is unchanged except for improved performance.

Dependencies

 * kernel
 * qemu-kvm
 * libvirt
 * virt-manager

Contingency Plan

 * Since this is a transparent feature, no contingency plan is necessary.

Documentation

 * FIXME: link to upstream docs?

Release Notes

 * Fedora 13 virtualization supports x2apic in both the host and guest roles.

Comments and Discussion

 * See Talk:Features/Virtx2apic