Re: [Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available

2020-02-18 Thread Roger Pau Monné
On Mon, Feb 10, 2020 at 06:28:29PM +0100, Roger Pau Monne wrote: > @@ -256,6 +257,16 @@ void flush_area_mask(const cpumask_t *mask, const void > *va, unsigned int flags) > if ( (flags & ~FLUSH_ORDER_MASK) && > !cpumask_subset(mask, cpumask_of(cpu)) ) > { > +if ( cpu_has

Re: [Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available

2020-02-11 Thread Wei Liu
On Tue, Feb 11, 2020 at 03:06:21PM +0100, Roger Pau Monné wrote: > On Tue, Feb 11, 2020 at 10:34:24AM +, Wei Liu wrote: > > On Mon, Feb 10, 2020 at 06:28:29PM +0100, Roger Pau Monne wrote: > > [...] > > > > > > struct hypervisor_ops { > > > @@ -32,6 +34,8 @@ struct hypervisor_ops { > > >

Re: [Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available

2020-02-11 Thread Roger Pau Monné
On Tue, Feb 11, 2020 at 10:34:24AM +, Wei Liu wrote: > On Mon, Feb 10, 2020 at 06:28:29PM +0100, Roger Pau Monne wrote: > [...] > > > > struct hypervisor_ops { > > @@ -32,6 +34,8 @@ struct hypervisor_ops { > > void (*resume)(void); > > /* Fix up e820 map */ > > void (*e820_fix

Re: [Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available

2020-02-11 Thread Wei Liu
On Mon, Feb 10, 2020 at 06:28:29PM +0100, Roger Pau Monne wrote: [...] > > struct hypervisor_ops { > @@ -32,6 +34,8 @@ struct hypervisor_ops { > void (*resume)(void); > /* Fix up e820 map */ > void (*e820_fixup)(struct e820map *e820); > +/* L0 assisted TLB flush */ > +int

Re: [Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available

2020-02-10 Thread Wei Liu
On Mon, Feb 10, 2020 at 06:28:29PM +0100, Roger Pau Monne wrote: > Use Xen's L0 HVMOP_flush_tlbs hypercall in order to perform flushes. > This greatly increases the performance of TLB flushes when running > with a high amount of vCPUs as a Xen guest, and is specially important > when running in shi

[Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available

2020-02-10 Thread Roger Pau Monne
Use Xen's L0 HVMOP_flush_tlbs hypercall in order to perform flushes. This greatly increases the performance of TLB flushes when running with a high amount of vCPUs as a Xen guest, and is specially important when running in shim mode. The following figures are from a PV guest running `make -j32 xen