|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 7/7] x86/tlb: use Xen L0 assisted TLB flush when available
On Tue, Feb 11, 2020 at 03:06:21PM +0100, Roger Pau Monné wrote:
> On Tue, Feb 11, 2020 at 10:34:24AM +0000, 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_fixup)(struct e820map *e820);
> > > + /* L0 assisted TLB flush */
> > > + int (*flush_tlb)(const cpumask_t *mask, const void *va, unsigned int
> > > order);
> > > };
> > >
> > > #ifdef CONFIG_GUEST
> > > @@ -41,6 +45,14 @@ void hypervisor_setup(void);
> > > int hypervisor_ap_setup(void);
> > > void hypervisor_resume(void);
> > > void hypervisor_e820_fixup(struct e820map *e820);
> > > +/*
> > > + * L0 assisted TLB flush.
> > > + * mask: cpumask of the dirty vCPUs that should be flushed.
> > > + * va: linear address to flush, or NULL for global flushes.
> >
> > I was in the middle of writing my patch and noticed this.
> >
> > I think NULL means "flushing the entire address space" here?
>
> Yes, that's right. I didn't add a way to differentiate between global
> (ie: PGE mappings included) flushes and non-global flushes, so all
> calls are assumed to imply flushes of global mappings.
>
> It might be better if you adapt it yourself to whatever is more suited
> for HyperV which has more selective flushes available. Xen only has an
> hypercall to request a global flush on all vCPUs.
OK. Thanks for confirming.
I will change this comment in my patch.
Wei.
>
> Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |