[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86: do not enable global pages when virtualized on AMD hardware
On 04.12.2019 14:17, Roger Pau Monné wrote: > On Wed, Dec 04, 2019 at 02:15:58PM +0100, Jan Beulich wrote: >> On 04.12.2019 12:52, Roger Pau Monné wrote: >>> On Wed, Dec 04, 2019 at 12:05:35PM +0100, Jan Beulich wrote: >>>> On 04.12.2019 11:44, Roger Pau Monne wrote: >>>>> --- a/xen/arch/x86/pv/domain.c >>>>> +++ b/xen/arch/x86/pv/domain.c >>>>> @@ -118,11 +118,18 @@ unsigned long pv_fixup_guest_cr4(const struct vcpu >>>>> *v, unsigned long cr4) >>>>> (mmu_cr4_features & PV_CR4_GUEST_VISIBLE_MASK)); >>>>> } >>>>> >>>>> +static int opt_global_pages = -1; >>>> >>>> int8_t __read_mostly >>>> >>>>> +boolean_runtime_param("global-pages", opt_global_pages); >>>>> + >>>>> unsigned long pv_make_cr4(const struct vcpu *v) >>>>> { >>>>> const struct domain *d = v->domain; >>>>> unsigned long cr4 = mmu_cr4_features & >>>>> ~(X86_CR4_PCIDE | X86_CR4_PGE | X86_CR4_TSD); >>>>> + bool pge = opt_global_pages == -1 ? (!cpu_has_hypervisor || >>>>> + boot_cpu_data.x86_vendor != >>>>> + X86_VENDOR_AMD) >>>>> + : !!opt_global_pages; >>>> >>>> Let's avoid re-doing this evaluation each time we come here. >>>> Post boot the value can only change to 0 or 1. Hence in some >>>> __init function you can apply the default calculation done >>>> here. >>> >>> I've assumed that boolean_runtime_param can be changed during runtime >>> by the user, and hence the value calculated at boot time would become >>> stale if the user changes it after boot, which should be fine for this >>> option. >> >> I'm afraid I can't decide whether you agree or disagree with my >> comment. > > Oh sorry fro not being clear. I was meant to disagree, calculating a > value at init time would be wrong, since opt_global_pages can change > during runtime. But that's what I've explained in my earlier reply: At run time, the value can only change to 0 or 1, but not to -1. Hence once a runtime update occurred, the default calculation won't be used anymore (as much as it wouldn't be used if there was a respective command line option). 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 |