Re: [RFC PATCH v2 00/24] KVM: combined patchset for MBEC/GMET support
From: David Riley
Date: Tue Apr 07 2026 - 08:20:55 EST
On 4/7/26 1:53 PM, David Riley wrote:
[...]sorry for the broken formatting. The following should be better.
Results
I compared the VM-Exit volume by running the workload with the feature
flags (+vmx-mbec / +gmet) enabled vs. disabled. The table below shows
the average number of samples (Total count of VM-Exit Events) over
the 3 runs for each mode (idle/load).
Platform Mode #Avg Exits Disabled #Avg Exits Enabled Reduction
Intel Idle 631722 189460 70.01%
Intel Load 10020824 775194 92.26%
AMD Idle 249200 118042 52.63%
AMD Load 425217 306945 27.81%
Platform Mode #Avg Exits Disabled #Avg Exits Enabled Reduction
Intel Idle 631722 189460 70.01%
Intel Load 10020824 775194 92.26%
AMD Idle 249200 118042 52.63%
AMD Load 425217 306945 27.81%
Observations
Intel MBEC:
The reduction in VM-exits is massive (over 92% under load).
AMD GMET:
There is a measurable benefit (~28% reduction), though it appears less
significant than the Intel results. However, it is worth noting that the
AMD platform maintains a much lower baseline of VM-exits even with
the feature disabled, suggesting more efficient native handling of
these transitions compared to the Intel baseline in this specific test
environment.
On both architectures, I did not notice any stability issues with the
patches applied.
Let me know if there are more specific tests you're interested in.
Tested-by: David Riley <d.riley@xxxxxxxxxxx>
[0] https://lore.kernel.org/qemu-devel/20260330193428.1663253-2-jon@xxxxxxxxxxx/
[1] https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity?tabs=security
[2]
$Duration = 25
$StopWatch = [System.Diagnostics.StopWatch]::StartNew()
while($StopWatch.Elapsed.TotalSeconds -lt $Duration) {
for ($i = 0; $i -lt 100; $i++) {
$Value = Get-Random -Maximum 1000
$Code = [scriptblock]::Create("($Value * 2) / 2")
$Code.Invoke() | Out-Null
}
Start-Sleep -Milliseconds 20
}