On Wed, 2024-02-07 at 09:26 -0800, Xin Li wrote:
This patch set enables the Intel flexible return and event delivery (FRED) architecture with KVM VMX to allow guests to utilize FRED.
We tested this FRED KVM patch set on a 7th Intel(R) Core(TM) CPU and the Intel Simics® Simulator with the following four configurations:
The first config is the baseline on bare metal. The second config is the baseline on Intel Simics® Simulator. The third config enables host FRED, but disables guest FRED. The last config enables both host and guest FRED.
Following are the Kselftest results on KVM guests.
+---------------------------------------------+-------+-------+-------+-------+ | Config | Pass | Fail | Skip | Hang | +---------------------------------------------+-------+-------+-------+-------+ |the 7th Intel(R) Core(TM) CPU | | | | | | L0: 6.8.0-rc3+ w/ FRED native/KVM patch set| 1775 | 526 | 332 | 6 | | L1: 6.8.0-rc3+ | | | | | +---------------------------------------------+-------+-------+-------+-------+ |Intel Simics® Simulator w/o FRED model | | | | | | L0: 6.8.0-rc3+ w/ FRED native/KVM patch set| 1770 | 526 | 331 | 12 | | L1: 6.8.0-rc3+ w/ FRED native/KVM patch set| | | | | +---------------------------------------------+-------+-------+-------+-------+ |Intel Simics® Simulator w/ FRED model | | | | | | L0: 6.8.0-rc3+ w/ FRED native/KVM patch set| 1770 | 526 | 331 | 12 | | L1: 6.8.0-rc3+ w/ FRED native/KVM patch set| | | | | | but FRED disabled | | | | | +---------------------------------------------+-------+-------+-------+-------+ |Intel Simics® Simulator w/ FRED model | | | | | | L0: 6.8.0-rc3+ w/ FRED native/KVM patch set| 1769 | 528 | 330 | 12 | | L1: 6.8.0-rc3+ w/ FRED native/KVM patch set| | | | | +---------------------------------------------+-------+-------+-------+-------+
First of all we don't see any major issue. One major differences come from perf tests. Another variances are from timer tests due to Intel Simics® emulator's slowness.
The tests "x86:sysret_rip_64" and "x86:sigreturn_32" fail on the last config, because they are not valid tests for FRED: https://lore.kernel.org/lkml/20230220030959.119222-1-ammarfaizi2@gnuweeb.org... https://lore.kernel.org/lkml/20230706052231.2183-1-xin3.li@intel.com/
NB: Some tests pass on Intel Simics® emulator, but not bare metal. If needed, we can share the data.
We conducted local live migration tests with LKGS/FRED/WRMSRNS enabled/disabled on Intel Simics® Simulator, and see no problems.
We also tested KVM Kselftest on a nested FRED KVM guest, 48 out of 83 cases passed and the rest cases failed due to the slowness of Intel Simics® emulator.
Detailed report upon request.