[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 4/7] xen/x86: use invpcid for flushing the TLB
>>> On 27.03.18 at 11:07, <jgross@xxxxxxxx> wrote: > --- a/xen/arch/x86/setup.c > +++ b/xen/arch/x86/setup.c > @@ -63,6 +63,10 @@ boolean_param("nosmp", opt_nosmp); > static unsigned int __initdata max_cpus; > integer_param("maxcpus", max_cpus); > > +/* opt_invpcid: If false, don't use INVPCID instruction even if available. */ > +static bool __initdata opt_invpcid = true; > +boolean_param("invpcid", opt_invpcid); Hmm, I'm sorry for noticing only now (while seeing the questionable uses of cpu_has_invpcid in patch 7), but this being an init-only variable and having ... > @@ -1549,6 +1553,9 @@ void __init noreturn __start_xen(unsigned long mbi_p) > if ( cpu_has_fsgsbase ) > set_in_cr4(X86_CR4_FSGSBASE); > > + if ( !opt_invpcid ) > + setup_clear_cpu_cap(X86_FEATURE_INVPCID); ... this effect has two issues: For one, in such a case this should be a sub-option to "cpuid=". And then afaict it also disables use of INVPCID in HVM guests. IOW I think you want to retain the option but make the variable non-init and non-static. Obviously for early boot use it may then no longer be possible to set it to true at build time (you may end up needing two variables). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |