|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 21/30] x86/pv: Provide custom cpumasks for PV domains
>>> On 17.02.16 at 12:03, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 17/02/16 08:13, Jan Beulich wrote:
>>>>> On 05.02.16 at 14:42, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> --- a/xen/arch/x86/cpu/amd.c
>>> +++ b/xen/arch/x86/cpu/amd.c
>>> @@ -208,7 +208,9 @@ static void __init noinline probe_masking_msrs(void)
>>> static void amd_ctxt_switch_levelling(const struct domain *nextd)
>>> {
>>> struct cpuidmasks *these_masks = &this_cpu(cpuidmasks);
>>> - const struct cpuidmasks *masks = &cpuidmask_defaults;
>>> + const struct cpuidmasks *masks =
>>> + (nextd && is_pv_domain(nextd) &&
>>> nextd->arch.pv_domain.cpuidmasks)
>>> + ? nextd->arch.pv_domain.cpuidmasks : &cpuidmask_defaults;
>> Mixing tabs and spaces for indentation.
>>
>>> --- a/xen/arch/x86/domain.c
>>> +++ b/xen/arch/x86/domain.c
>>> @@ -574,6 +574,11 @@ int arch_domain_create(struct domain *d, unsigned int
> domcr_flags,
>>> goto fail;
>>> clear_page(d->arch.pv_domain.gdt_ldt_l1tab);
>>>
>>> + d->arch.pv_domain.cpuidmasks = xmalloc(struct cpuidmasks);
>>> + if ( !d->arch.pv_domain.cpuidmasks )
>>> + goto fail;
>>> + *d->arch.pv_domain.cpuidmasks = cpuidmask_defaults;
>> Along the lines of not masking features for the hypervisor's own use
>> (see the respective comment on the earlier patch) I think this patch,
>> here or in domain_build.c, should except Dom0 from having the
>> default masking applied. This shouldn't, however, extend to CPUID
>> faulting. (Perhaps this rather belongs here so that the non-Dom0
>> hardware domain case can also be taken care of.)
>
> Very specifically not. It is wrong to special case Dom0 and the
> hardware domain, as their cpuid values should relevent to their VM, not
> the host.
I can't see how this second half of the sentence is a reason for
not special casing Dom0.
> The default cpuid policy level with real hardware, so its no practical
> change at this point.
As long as no-one uses the then deprecated command line options.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |