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