<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Enabling Intel APICv for better performance]]></title><description><![CDATA[<h2><img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=041a08e19dc" class="not-responsive emoji emoji-android emoji--warning" style="height:1.4em;width:auto;vertical-align:middle" title=":warning:" alt="⚠" /> Consider this feature as experimental <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=041a08e19dc" class="not-responsive emoji emoji-android emoji--warning" style="height:1.4em;width:auto;vertical-align:middle" title=":warning:" alt="⚠" /></h2>
<p dir="auto">Many Intel CPUs have support for Intel APICv (APIC Virtualization) features that aims at reducing the number of APIC-related VM-Exits in guests, hence improving performance.<br />
This has been introduced circa Intel Ivy Bridge-EP, and is also available on somewhat recent client CPUs as well. But keep in mind that not all SKUs have support for it.</p>
<p dir="auto">Xen has support for it since roughly Xen 4.3, yet XenServer (and XCP-ng) originally disabled by default due to issues at this time around live migration between hardware that supports it and ones that don't.</p>
<p dir="auto">Internal testing on the feature shows performance improvements in various benchmarks (5-10% in I/O benchmarks up to 30% on nginx with a Ice Lake Xeon). We didn't test on other CPUs, but older CPUs (in particular those affected by L1TF/Foreshadow) may observe larger improvements.</p>
<h2>How to enable</h2>
<p dir="auto">This feature exists in the Xen version shipped in XCP-ng, but disabled by default, you can enable support on the host with</p>
<pre><code class="language-sh">/opt/xensource/libexec/xen-cmdline --set-xen apicv=1
# then reboot
</code></pre>
<p dir="auto">Once enabled, you can check hardware support with</p>
<pre><code>xl dmesg | grep -A 25 "VMX: Supported advanced features"
</code></pre>
<p dir="auto">And look for <code>APIC Register Virtualization</code> and <code>Virtual Interrupt Delivery</code>.</p>
<p dir="auto">The feature can be disabled with</p>
<pre><code class="language-sh">/opt/xensource/libexec/xen-cmdline --delete-xen apicv
# then reboot
</code></pre>
<h2>What to test</h2>
<p dir="auto">Along with general feedback on the feature (does it work, supported hardware, ...), we're interested on :</p>
<ul>
<li>interactions with live migration, especially with hosts that have different configuration of APICv</li>
<li>performance on various workloads (web server, databases, I/O, ...)</li>
</ul>
<h2>What about AMD ?</h2>
<p dir="auto">AMD counterpart is AVIC (Advanced Virtualized Interrupt Controller) introduced (in practice) with Zen 2 (but also existed on some Carrizo CPUs) then improved with x2AVIC with Zen 4.<br />
Xen support for (x2)AVIC is currently work in progress.<br />
Refer to Denis Mukhin's presentation on AVIC for Xen (Xen Summit 2026) : <a href="https://youtu.be/RhaJsOU_PIA" target="_blank" rel="noopener noreferrer nofollow ugc">https://youtu.be/RhaJsOU_PIA</a></p>
]]></description><link>https://xcp-ng.org/forum/topic/12550/enabling-intel-apicv-for-better-performance</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 14:02:08 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/12550.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Oct 2026 12:06:06 GMT</pubDate><ttl>60</ttl></channel></rss>