Hello, The following series aims to improve the TLB flush times when running nested Xen, and it's specially beneficial when running in shim mode.
Patch #2 is likely the most controversial one, as it changes the implementation of assisted TLB flushes. I have to admit I haven't been able to figure out why HVM guest context flushes issued a flush_tlb_mask, and the commit introducing such behavior doesn't contain a helpful commit message. See patch #3 for a comparison on the performance of the L0 assisted flush vs using x2APIC shorthand. Thanks, Roger. Roger Pau Monne (3): x86/hvm: allow ASID flush when v != current x86/hvm: rework HVMOP_flush_tlbs x86/tlb: use Xen L0 assisted TLB flush when available xen/arch/x86/guest/hypervisor.c | 9 +++++ xen/arch/x86/guest/xen/xen.c | 6 +++ xen/arch/x86/hvm/asid.c | 6 +-- xen/arch/x86/hvm/hvm.c | 54 +++++++++++--------------- xen/arch/x86/hvm/viridian/viridian.c | 7 +--- xen/arch/x86/smp.c | 6 +++ xen/include/asm-x86/guest/hypervisor.h | 13 +++++++ xen/include/asm-x86/hvm/hvm.h | 2 +- 8 files changed, 62 insertions(+), 41 deletions(-) -- 2.24.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel