Andrew Cooper
2013-Jan-28 11:21 UTC
[PATCH v2] HAP: Add global enable/disable command line option
Also, correct a copy&paste error in the documentation. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- Changes since v1: * bool_t __initdata * tweak logic to reduce size of patch diff -r 5af4f2ab06f3 -r b741ace3835a docs/misc/xen-command-line.markdown --- a/docs/misc/xen-command-line.markdown +++ b/docs/misc/xen-command-line.markdown @@ -521,6 +521,14 @@ more importance will be printed. The optional `<rate-limited level>` option instructs which severities should be rate limited. +### hap +> `= <boolean>` + +> Default: `true` + +Flag to globally enable or disable support for Hardware Assisted +Paging (HAP) + ### hap\_1gb > `= <boolean>` @@ -534,7 +542,7 @@ Paging (HAP). > Default: `true` -Flag to enable 1 GB host page table support for Hardware Assisted +Flag to enable 2 MB host page table support for Hardware Assisted Paging (HAP). ### hpetbroadcast diff -r 5af4f2ab06f3 -r b741ace3835a xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -78,6 +78,10 @@ struct hvm_function_table hvm_funcs __re unsigned long __attribute__ ((__section__ (".bss.page_aligned"))) hvm_io_bitmap[3*PAGE_SIZE/BYTES_PER_LONG]; +/* Xen command-line option to enable HAP */ +static bool_t __initdata opt_hap_enabled = 1; +boolean_param("hap", opt_hap_enabled); + static int cpu_callback( struct notifier_block *nfb, unsigned long action, void *hcpu) { @@ -123,7 +127,14 @@ static int __init hvm_enable(void) hvm_enabled = 1; printk("HVM: %s enabled\n", hvm_funcs.name); - if ( hvm_funcs.hap_supported ) + if ( ! hvm_funcs.hap_supported ) + printk("HVM: Hardware Assisted Paging (HAP) not detected\n"); + else if ( ! opt_hap_enabled ) + { + hvm_funcs.hap_supported = 0; + printk("HVM: Hardware Assisted Paging (HAP) detected but disabled\n"); + } + else { printk("HVM: Hardware Assisted Paging (HAP) detected\n"); printk("HVM: HAP page sizes: 4kB");
Andrew Cooper
2013-Feb-08 14:53 UTC
Re: [PATCH v2] HAP: Add global enable/disable command line option
Ping? On 28/01/13 11:21, Andrew Cooper wrote:> Also, correct a copy&paste error in the documentation. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > > --- > > Changes since v1: > * bool_t __initdata > * tweak logic to reduce size of patch > > diff -r 5af4f2ab06f3 -r b741ace3835a docs/misc/xen-command-line.markdown > --- a/docs/misc/xen-command-line.markdown > +++ b/docs/misc/xen-command-line.markdown > @@ -521,6 +521,14 @@ more importance will be printed. > The optional `<rate-limited level>` option instructs which severities > should be rate limited. > > +### hap > +> `= <boolean>` > + > +> Default: `true` > + > +Flag to globally enable or disable support for Hardware Assisted > +Paging (HAP) > + > ### hap\_1gb > > `= <boolean>` > > @@ -534,7 +542,7 @@ Paging (HAP). > > > Default: `true` > > -Flag to enable 1 GB host page table support for Hardware Assisted > +Flag to enable 2 MB host page table support for Hardware Assisted > Paging (HAP). > > ### hpetbroadcast > diff -r 5af4f2ab06f3 -r b741ace3835a xen/arch/x86/hvm/hvm.c > --- a/xen/arch/x86/hvm/hvm.c > +++ b/xen/arch/x86/hvm/hvm.c > @@ -78,6 +78,10 @@ struct hvm_function_table hvm_funcs __re > unsigned long __attribute__ ((__section__ (".bss.page_aligned"))) > hvm_io_bitmap[3*PAGE_SIZE/BYTES_PER_LONG]; > > +/* Xen command-line option to enable HAP */ > +static bool_t __initdata opt_hap_enabled = 1; > +boolean_param("hap", opt_hap_enabled); > + > static int cpu_callback( > struct notifier_block *nfb, unsigned long action, void *hcpu) > { > @@ -123,7 +127,14 @@ static int __init hvm_enable(void) > hvm_enabled = 1; > > printk("HVM: %s enabled\n", hvm_funcs.name); > - if ( hvm_funcs.hap_supported ) > + if ( ! hvm_funcs.hap_supported ) > + printk("HVM: Hardware Assisted Paging (HAP) not detected\n"); > + else if ( ! opt_hap_enabled ) > + { > + hvm_funcs.hap_supported = 0; > + printk("HVM: Hardware Assisted Paging (HAP) detected but disabled\n"); > + } > + else > { > printk("HVM: Hardware Assisted Paging (HAP) detected\n"); > printk("HVM: HAP page sizes: 4kB"); > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
Jan Beulich
2013-Feb-08 16:50 UTC
Re: [PATCH v2] HAP: Add global enable/disable command line option
>>> On 08.02.13 at 15:53, Andrew Cooper <andrew.cooper3@citrix.com> wrote: > Ping?As being HAP related I was assuming Tim would be taking care of this, despite the modified code not being under xen/arch/x86/mm/, or at least ack it. Jan> On 28/01/13 11:21, Andrew Cooper wrote: >> Also, correct a copy&paste error in the documentation. >> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> >> >> --- >> >> Changes since v1: >> * bool_t __initdata >> * tweak logic to reduce size of patch >> >> diff -r 5af4f2ab06f3 -r b741ace3835a docs/misc/xen-command-line.markdown >> --- a/docs/misc/xen-command-line.markdown >> +++ b/docs/misc/xen-command-line.markdown >> @@ -521,6 +521,14 @@ more importance will be printed. >> The optional `<rate-limited level>` option instructs which severities >> should be rate limited. >> >> +### hap >> +> `= <boolean>` >> + >> +> Default: `true` >> + >> +Flag to globally enable or disable support for Hardware Assisted >> +Paging (HAP) >> + >> ### hap\_1gb >> > `= <boolean>` >> >> @@ -534,7 +542,7 @@ Paging (HAP). >> >> > Default: `true` >> >> -Flag to enable 1 GB host page table support for Hardware Assisted >> +Flag to enable 2 MB host page table support for Hardware Assisted >> Paging (HAP). >> >> ### hpetbroadcast >> diff -r 5af4f2ab06f3 -r b741ace3835a xen/arch/x86/hvm/hvm.c >> --- a/xen/arch/x86/hvm/hvm.c >> +++ b/xen/arch/x86/hvm/hvm.c >> @@ -78,6 +78,10 @@ struct hvm_function_table hvm_funcs __re >> unsigned long __attribute__ ((__section__ (".bss.page_aligned"))) >> hvm_io_bitmap[3*PAGE_SIZE/BYTES_PER_LONG]; >> >> +/* Xen command-line option to enable HAP */ >> +static bool_t __initdata opt_hap_enabled = 1; >> +boolean_param("hap", opt_hap_enabled); >> + >> static int cpu_callback( >> struct notifier_block *nfb, unsigned long action, void *hcpu) >> { >> @@ -123,7 +127,14 @@ static int __init hvm_enable(void) >> hvm_enabled = 1; >> >> printk("HVM: %s enabled\n", hvm_funcs.name); >> - if ( hvm_funcs.hap_supported ) >> + if ( ! hvm_funcs.hap_supported ) >> + printk("HVM: Hardware Assisted Paging (HAP) not detected\n"); >> + else if ( ! opt_hap_enabled ) >> + { >> + hvm_funcs.hap_supported = 0; >> + printk("HVM: Hardware Assisted Paging (HAP) detected but > disabled\n"); >> + } >> + else >> { >> printk("HVM: Hardware Assisted Paging (HAP) detected\n"); >> printk("HVM: HAP page sizes: 4kB"); >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel
Tim Deegan
2013-Feb-08 16:57 UTC
Re: [PATCH v2] HAP: Add global enable/disable command line option
At 16:50 +0000 on 08 Feb (1360342244), Jan Beulich wrote:> >>> On 08.02.13 at 15:53, Andrew Cooper <andrew.cooper3@citrix.com> wrote: > > Ping? > > As being HAP related I was assuming Tim would be taking care of > this, despite the modified code not being under xen/arch/x86/mm/, > or at least ack it.Sorry, slipped under my radar. Acked-by: Tim Deegan <tim@xen.org>