[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



On Tue, Jul 08, 2014 at 02:22:48PM -0400, Boris Ostrovsky wrote:
> On 07/08/2014 02:48 PM, konrad@xxxxxxxxxx wrote:
> >From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >
> >By default when CONFIG_XEN and CONFIG_XEN_PVHVM kernels are
> >run, they will enable the PV extensions (drivers, interrupts, timers,
> >etc) - which is perfect.
> >
> >However, in some cases (kexec not fully wokring, benchmarking)
> >we want to disable Xen PV extensions. As such introduce the
> >'xen_nopv' parameter that will do it.
> >
> >Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >---
> >  Documentation/kernel-parameters.txt |    4 ++++
> >  arch/x86/xen/enlighten.c            |   14 ++++++++++++++
> >  2 files changed, 18 insertions(+), 0 deletions(-)
> >
> >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 e220197..fec8963 100644
> >--- a/arch/x86/xen/enlighten.c
> >+++ b/arch/x86/xen/enlighten.c
> >@@ -1930,10 +1930,21 @@ static void __init xen_hvm_guest_init(void)
> >  #endif
> >  }
> >+static bool off = false;
> 
> A more descriptive name would be better.

disable_pv ?

disable?

xen_pvoff ?

ignore_xen ?


> 
> -boris
> 
> >+static __init int xen_parse_nopv(char *arg)
> >+{
> >+       off = true;
> >+       return 0;
> >+}
> >+early_param("xen_nopv", xen_parse_nopv);
> >+
> >  static uint32_t __init xen_hvm_platform(void)
> >  {
> >     uint32_t eax, ebx, ecx, edx, base;
> >+    if (off)
> >+            return 0;
> >+
> >     if (xen_pv_domain())
> >             return 0;
> >@@ -1953,6 +1964,9 @@ static uint32_t __init xen_hvm_platform(void)
> >  bool xen_hvm_need_lapic(void)
> >  {
> >+    if (off)
> >+            return false;
> >+
> >     if (xen_pv_domain())
> >             return false;
> >     if (!xen_hvm_domain())
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.