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
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 {
> > >
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
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
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
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