Re: [PATCH] xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests.

From: H. Peter Anvin
Date: Fri Jul 11 2014 - 19:14:17 EST


On 07/11/2014 04:09 PM, Konrad Rzeszutek Wilk wrote:
>
> On Jul 11, 2014 6:52 PM, "H. Peter Anvin" <hpa@xxxxxxxxx> wrote:
>>
>> On 07/11/2014 12:53 PM, konrad@xxxxxxxxxx wrote:
>>>
>>> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
>>> index c1b9aa8..5dcfa6e 100644
>>> --- a/Documentation/kernel-parameters.txt
>>> +++ b/Documentation/kernel-parameters.txt
>>> @@ -3691,6 +3691,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
>>> Disables the ticketlock slowpath using Xen PV
>>> optimizations.
>>>
>>> + xen_nopv [X86,XEN]
>>> + Disables the PV optimizations forcing the guest to run
>>> + as generic HVM guest with no PV drivers.
>>> +
>>> xirc2ps_cs= [NET,PCMCIA]
>>> Format:
>>> <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>> index ffb101e..eb82239 100644
>>> --- a/arch/x86/xen/enlighten.c
>>> +++ b/arch/x86/xen/enlighten.c
>>> @@ -1826,8 +1826,19 @@ static void __init xen_hvm_guest_init(void)
>>> xen_hvm_init_mmu_ops();
>>> }
>>>
>>> +static bool xen_nopv = false;
>>> +static __init int xen_parse_nopv(char *arg)
>>> +{
>>> + xen_nopv = true;
>>> + return 0;
>>> +}
>>> +early_param("xen_nopv", xen_parse_nopv);
>>> +
>>> static uint32_t __init xen_hvm_platform(void)
>>> {
>>> + if (xen_nopv)
>>> + return 0;
>>> +
>>> if (xen_pv_domain())
>>> return 0;
>>>
>>> @@ -1836,6 +1847,8 @@ static uint32_t __init xen_hvm_platform(void)
>>>
>>> bool xen_hvm_need_lapic(void)
>>> {
>>> + if (xen_nopv)
>>> + return false;
>>> if (xen_pv_domain())
>>> return false;
>>> if (!xen_hvm_domain())
>>>
>>
>> Any reason to not simply let xen_pv_domain() return false here?
>
> It does return false already.
>
> Did you mean to collapse them together?

OK, I'm confused. The description of the option makes it look like it
could disable things associated with PV domains, but it looks like it
actually disables things having to do with HVM domains...

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/