* [PATCH v2] xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests.
@ 2014-07-08 20:52 konrad
2014-07-09 12:10 ` [Xen-devel] " David Vrabel
0 siblings, 1 reply; 3+ messages in thread
From: konrad @ 2014-07-08 20:52 UTC (permalink / raw)
To: xen-devel, david.vrabel, boris.ostrovsky, linux-kernel
Cc: Konrad Rzeszutek Wilk
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
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@oracle.com>
---
[v2: s/off/xen_nopv/ per Boris Ostrovsky recommendation.]
---
Documentation/kernel-parameters.txt | 4 ++++
arch/x86/xen/enlighten.c | 13 +++++++++++++
2 files changed, 17 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..7aa59ef 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 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)
{
uint32_t eax, ebx, ecx, edx, base;
+ if (xen_nopv)
+ return 0;
+
if (xen_pv_domain())
return 0;
@@ -1953,6 +1964,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())
--
1.7.7.6
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [Xen-devel] [PATCH v2] xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests.
2014-07-08 20:52 [PATCH v2] xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests konrad
@ 2014-07-09 12:10 ` David Vrabel
2014-07-09 13:55 ` Konrad Rzeszutek Wilk
0 siblings, 1 reply; 3+ messages in thread
From: David Vrabel @ 2014-07-09 12:10 UTC (permalink / raw)
To: konrad, xen-devel, david.vrabel, boris.ostrovsky, linux-kernel
On 08/07/14 21:52, konrad@kernel.org wrote:
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>
> 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.
If it's "perfect" what's this option for? ;)
I think you mean to say "which is the best option for the majority of
use cases".
> 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.
"working"
I'm unconvinced about the utility of this option. The resulting kernel
will go like molasses and I'm not sure what the use of being any to
benchmark a configuration no one will use in practice. But it's a small
patch so
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
David
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Xen-devel] [PATCH v2] xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests.
2014-07-09 12:10 ` [Xen-devel] " David Vrabel
@ 2014-07-09 13:55 ` Konrad Rzeszutek Wilk
0 siblings, 0 replies; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-07-09 13:55 UTC (permalink / raw)
To: David Vrabel; +Cc: konrad, xen-devel, boris.ostrovsky, linux-kernel
On Wed, Jul 09, 2014 at 01:10:03PM +0100, David Vrabel wrote:
> On 08/07/14 21:52, konrad@kernel.org wrote:
> > From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >
> > 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.
>
> If it's "perfect" what's this option for? ;)
:-)
>
> I think you mean to say "which is the best option for the majority of
> use cases".
Yes!
>
> > 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.
>
> "working"
>
> I'm unconvinced about the utility of this option. The resulting kernel
> will go like molasses and I'm not sure what the use of being any to
> benchmark a configuration no one will use in practice. But it's a small
> patch so
>
> Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Thank you.
>
> David
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-07-09 13:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-08 20:52 [PATCH v2] xen: Introduce 'xen_nopv' to disable PV extensions for HVM guests konrad
2014-07-09 12:10 ` [Xen-devel] " David Vrabel
2014-07-09 13:55 ` Konrad Rzeszutek Wilk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox