* [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains @ 2015-03-20 12:55 Juergen Gross 2015-03-20 12:55 ` [Patch V2 1/2] xen: prepare p2m list for memory hotplug Juergen Gross ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Juergen Gross @ 2015-03-20 12:55 UTC (permalink / raw) To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle Cc: Juergen Gross Fix some regressions introduced in 3.16 and 3.19. Changes in V2: - use "range" in Kconfig instead of BUILD_BUG_ON_MSG() as suggested by Boris Ostrovsky and Paul Bolle - simplify ifdeffery regarding P2M_LIMIT in patch 1 as requested by David Vrabel - changed test for failure of set_phys_to_machine() in patch 2 as requested by David Vrabel and Daniel Kiper - only call set_phys_to_machine() for pv domains as requested by Daniel Kiper Juergen Gross (2): xen: prepare p2m list for memory hotplug xen: before ballooning hotplugged memory, set frames to invalid arch/x86/xen/p2m.c | 10 +++++++++- drivers/xen/Kconfig | 14 ++++++++++++++ drivers/xen/balloon.c | 13 +++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) -- 2.1.4 ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Patch V2 1/2] xen: prepare p2m list for memory hotplug 2015-03-20 12:55 [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains Juergen Gross @ 2015-03-20 12:55 ` Juergen Gross 2015-03-20 13:42 ` Daniel Kiper 2015-03-23 12:46 ` David Vrabel 2015-03-20 12:55 ` [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid Juergen Gross 2015-03-23 15:17 ` David Vrabel 2 siblings, 2 replies; 19+ messages in thread From: Juergen Gross @ 2015-03-20 12:55 UTC (permalink / raw) To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle Cc: Juergen Gross Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear virtual mapped sparse p2m list") introduced a regression regarding to memory hotplug for a pv-domain: as the virtual space for the p2m list is allocated for the to be expected memory size of the domain only, hotplugged memory above that size will not be usable by the domain. Correct this by using a configurable size for the p2m list in case of memory hotplug enabled (default supported memory size is 512 GB for 64 bit domains and 4 GB for 32 bit domains). Signed-off-by: Juergen Gross <jgross@suse.com> --- arch/x86/xen/p2m.c | 10 +++++++++- drivers/xen/Kconfig | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c index 9f93af5..b47124d 100644 --- a/arch/x86/xen/p2m.c +++ b/arch/x86/xen/p2m.c @@ -91,6 +91,12 @@ EXPORT_SYMBOL_GPL(xen_p2m_size); unsigned long xen_max_p2m_pfn __read_mostly; EXPORT_SYMBOL_GPL(xen_max_p2m_pfn); +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT +#define P2M_LIMIT CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT +#else +#define P2M_LIMIT 0 +#endif + static DEFINE_SPINLOCK(p2m_update_lock); static unsigned long *p2m_mid_missing_mfn; @@ -385,9 +391,11 @@ static void __init xen_rebuild_p2m_list(unsigned long *p2m) void __init xen_vmalloc_p2m_tree(void) { static struct vm_struct vm; + unsigned long p2m_limit; + p2m_limit = (phys_addr_t)P2M_LIMIT * 1024 * 1024 * 1024 / PAGE_SIZE; vm.flags = VM_ALLOC; - vm.size = ALIGN(sizeof(unsigned long) * xen_max_p2m_pfn, + vm.size = ALIGN(sizeof(unsigned long) * max(xen_max_p2m_pfn, p2m_limit), PMD_SIZE * PMDS_PER_MID_PAGE); vm_area_register_early(&vm, PMD_SIZE * PMDS_PER_MID_PAGE); pr_notice("p2m virtual area at %p, size is %lx\n", vm.addr, vm.size); diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig index b812462..0f1b509 100644 --- a/drivers/xen/Kconfig +++ b/drivers/xen/Kconfig @@ -55,6 +55,20 @@ config XEN_BALLOON_MEMORY_HOTPLUG In that case step 3 should be omitted. +config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT + int + default 512 if X86_64 + default 4 if X86_32 + range 0 64 if X86_32 + depends on XEN_HAVE_PVMMU + depends on XEN_BALLOON_MEMORY_HOTPLUG + help + Upper limit in GBs a pv domain can be expanded to using memory + hotplug. + + This value is used to allocate enough space in internal tables needed + for physical memory administration. + config XEN_SCRUB_PAGES bool "Scrub pages before returning them to system" depends on XEN_BALLOON -- 2.1.4 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [Patch V2 1/2] xen: prepare p2m list for memory hotplug 2015-03-20 12:55 ` [Patch V2 1/2] xen: prepare p2m list for memory hotplug Juergen Gross @ 2015-03-20 13:42 ` Daniel Kiper 2015-03-23 12:46 ` David Vrabel 1 sibling, 0 replies; 19+ messages in thread From: Daniel Kiper @ 2015-03-20 13:42 UTC (permalink / raw) To: Juergen Gross Cc: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, pebolle On Fri, Mar 20, 2015 at 01:55:38PM +0100, Juergen Gross wrote: > Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear > virtual mapped sparse p2m list") introduced a regression regarding to > memory hotplug for a pv-domain: as the virtual space for the p2m list > is allocated for the to be expected memory size of the domain only, > hotplugged memory above that size will not be usable by the domain. > > Correct this by using a configurable size for the p2m list in case of > memory hotplug enabled (default supported memory size is 512 GB for > 64 bit domains and 4 GB for 32 bit domains). > > Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> Daniel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 1/2] xen: prepare p2m list for memory hotplug 2015-03-20 12:55 ` [Patch V2 1/2] xen: prepare p2m list for memory hotplug Juergen Gross @ 2015-03-23 12:46 ` David Vrabel 2015-03-23 12:46 ` David Vrabel 1 sibling, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 12:46 UTC (permalink / raw) To: Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle On 20/03/15 12:55, Juergen Gross wrote: > Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear > virtual mapped sparse p2m list") introduced a regression regarding to > memory hotplug for a pv-domain: as the virtual space for the p2m list > is allocated for the to be expected memory size of the domain only, > hotplugged memory above that size will not be usable by the domain. > > Correct this by using a configurable size for the p2m list in case of > memory hotplug enabled (default supported memory size is 512 GB for > 64 bit domains and 4 GB for 32 bit domains). > > Signed-off-by: Juergen Gross <jgross@suse.com> > --- > arch/x86/xen/p2m.c | 10 +++++++++- > drivers/xen/Kconfig | 14 ++++++++++++++ > 2 files changed, 23 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c > index 9f93af5..b47124d 100644 > --- a/arch/x86/xen/p2m.c > +++ b/arch/x86/xen/p2m.c > @@ -91,6 +91,12 @@ EXPORT_SYMBOL_GPL(xen_p2m_size); > unsigned long xen_max_p2m_pfn __read_mostly; > EXPORT_SYMBOL_GPL(xen_max_p2m_pfn); > > +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT > +#define P2M_LIMIT CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT > +#else > +#define P2M_LIMIT 0 > +#endif > + > static DEFINE_SPINLOCK(p2m_update_lock); > > static unsigned long *p2m_mid_missing_mfn; > @@ -385,9 +391,11 @@ static void __init xen_rebuild_p2m_list(unsigned long *p2m) > void __init xen_vmalloc_p2m_tree(void) > { > static struct vm_struct vm; > + unsigned long p2m_limit; > > + p2m_limit = (phys_addr_t)P2M_LIMIT * 1024 * 1024 * 1024 / PAGE_SIZE; > vm.flags = VM_ALLOC; > - vm.size = ALIGN(sizeof(unsigned long) * xen_max_p2m_pfn, > + vm.size = ALIGN(sizeof(unsigned long) * max(xen_max_p2m_pfn, p2m_limit), > PMD_SIZE * PMDS_PER_MID_PAGE); > vm_area_register_early(&vm, PMD_SIZE * PMDS_PER_MID_PAGE); > pr_notice("p2m virtual area at %p, size is %lx\n", vm.addr, vm.size); > diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig > index b812462..0f1b509 100644 > --- a/drivers/xen/Kconfig > +++ b/drivers/xen/Kconfig > @@ -55,6 +55,20 @@ config XEN_BALLOON_MEMORY_HOTPLUG > > In that case step 3 should be omitted. > > +config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT > + int Because you've not supplied a summary for this option, it is not user configurable. Is this intentional? David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 1/2] xen: prepare p2m list for memory hotplug @ 2015-03-23 12:46 ` David Vrabel 0 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 12:46 UTC (permalink / raw) To: Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle On 20/03/15 12:55, Juergen Gross wrote: > Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear > virtual mapped sparse p2m list") introduced a regression regarding to > memory hotplug for a pv-domain: as the virtual space for the p2m list > is allocated for the to be expected memory size of the domain only, > hotplugged memory above that size will not be usable by the domain. > > Correct this by using a configurable size for the p2m list in case of > memory hotplug enabled (default supported memory size is 512 GB for > 64 bit domains and 4 GB for 32 bit domains). > > Signed-off-by: Juergen Gross <jgross@suse.com> > --- > arch/x86/xen/p2m.c | 10 +++++++++- > drivers/xen/Kconfig | 14 ++++++++++++++ > 2 files changed, 23 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c > index 9f93af5..b47124d 100644 > --- a/arch/x86/xen/p2m.c > +++ b/arch/x86/xen/p2m.c > @@ -91,6 +91,12 @@ EXPORT_SYMBOL_GPL(xen_p2m_size); > unsigned long xen_max_p2m_pfn __read_mostly; > EXPORT_SYMBOL_GPL(xen_max_p2m_pfn); > > +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT > +#define P2M_LIMIT CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT > +#else > +#define P2M_LIMIT 0 > +#endif > + > static DEFINE_SPINLOCK(p2m_update_lock); > > static unsigned long *p2m_mid_missing_mfn; > @@ -385,9 +391,11 @@ static void __init xen_rebuild_p2m_list(unsigned long *p2m) > void __init xen_vmalloc_p2m_tree(void) > { > static struct vm_struct vm; > + unsigned long p2m_limit; > > + p2m_limit = (phys_addr_t)P2M_LIMIT * 1024 * 1024 * 1024 / PAGE_SIZE; > vm.flags = VM_ALLOC; > - vm.size = ALIGN(sizeof(unsigned long) * xen_max_p2m_pfn, > + vm.size = ALIGN(sizeof(unsigned long) * max(xen_max_p2m_pfn, p2m_limit), > PMD_SIZE * PMDS_PER_MID_PAGE); > vm_area_register_early(&vm, PMD_SIZE * PMDS_PER_MID_PAGE); > pr_notice("p2m virtual area at %p, size is %lx\n", vm.addr, vm.size); > diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig > index b812462..0f1b509 100644 > --- a/drivers/xen/Kconfig > +++ b/drivers/xen/Kconfig > @@ -55,6 +55,20 @@ config XEN_BALLOON_MEMORY_HOTPLUG > > In that case step 3 should be omitted. > > +config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT > + int Because you've not supplied a summary for this option, it is not user configurable. Is this intentional? David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 1/2] xen: prepare p2m list for memory hotplug 2015-03-23 12:46 ` David Vrabel (?) @ 2015-03-23 14:29 ` Juergen Gross 2015-03-23 14:57 ` David Vrabel -1 siblings, 1 reply; 19+ messages in thread From: Juergen Gross @ 2015-03-23 14:29 UTC (permalink / raw) To: David Vrabel, linux-kernel, xen-devel, konrad.wilk, boris.ostrovsky, daniel.kiper, pebolle On 03/23/2015 01:46 PM, David Vrabel wrote: > On 20/03/15 12:55, Juergen Gross wrote: >> Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear >> virtual mapped sparse p2m list") introduced a regression regarding to >> memory hotplug for a pv-domain: as the virtual space for the p2m list >> is allocated for the to be expected memory size of the domain only, >> hotplugged memory above that size will not be usable by the domain. >> >> Correct this by using a configurable size for the p2m list in case of >> memory hotplug enabled (default supported memory size is 512 GB for >> 64 bit domains and 4 GB for 32 bit domains). >> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> --- >> arch/x86/xen/p2m.c | 10 +++++++++- >> drivers/xen/Kconfig | 14 ++++++++++++++ >> 2 files changed, 23 insertions(+), 1 deletion(-) >> >> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c >> index 9f93af5..b47124d 100644 >> --- a/arch/x86/xen/p2m.c >> +++ b/arch/x86/xen/p2m.c >> @@ -91,6 +91,12 @@ EXPORT_SYMBOL_GPL(xen_p2m_size); >> unsigned long xen_max_p2m_pfn __read_mostly; >> EXPORT_SYMBOL_GPL(xen_max_p2m_pfn); >> >> +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >> +#define P2M_LIMIT CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >> +#else >> +#define P2M_LIMIT 0 >> +#endif >> + >> static DEFINE_SPINLOCK(p2m_update_lock); >> >> static unsigned long *p2m_mid_missing_mfn; >> @@ -385,9 +391,11 @@ static void __init xen_rebuild_p2m_list(unsigned long *p2m) >> void __init xen_vmalloc_p2m_tree(void) >> { >> static struct vm_struct vm; >> + unsigned long p2m_limit; >> >> + p2m_limit = (phys_addr_t)P2M_LIMIT * 1024 * 1024 * 1024 / PAGE_SIZE; >> vm.flags = VM_ALLOC; >> - vm.size = ALIGN(sizeof(unsigned long) * xen_max_p2m_pfn, >> + vm.size = ALIGN(sizeof(unsigned long) * max(xen_max_p2m_pfn, p2m_limit), >> PMD_SIZE * PMDS_PER_MID_PAGE); >> vm_area_register_early(&vm, PMD_SIZE * PMDS_PER_MID_PAGE); >> pr_notice("p2m virtual area at %p, size is %lx\n", vm.addr, vm.size); >> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig >> index b812462..0f1b509 100644 >> --- a/drivers/xen/Kconfig >> +++ b/drivers/xen/Kconfig >> @@ -55,6 +55,20 @@ config XEN_BALLOON_MEMORY_HOTPLUG >> >> In that case step 3 should be omitted. >> >> +config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >> + int > > Because you've not supplied a summary for this option, it is not user > configurable. Is this intentional? No. Sorry, I just tested it via editing .config, not using the menues. Can you add it when committing (e.g. "Upper limit in GBs a pv domain can be expanded to using memory hotplug")? Or should I send another patch? Juergen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 1/2] xen: prepare p2m list for memory hotplug 2015-03-23 14:29 ` Juergen Gross @ 2015-03-23 14:57 ` David Vrabel 0 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 14:57 UTC (permalink / raw) To: Juergen Gross, David Vrabel, linux-kernel, xen-devel, konrad.wilk, boris.ostrovsky, daniel.kiper, pebolle On 23/03/15 14:29, Juergen Gross wrote: > On 03/23/2015 01:46 PM, David Vrabel wrote: >> On 20/03/15 12:55, Juergen Gross wrote: >>> Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear >>> virtual mapped sparse p2m list") introduced a regression regarding to >>> memory hotplug for a pv-domain: as the virtual space for the p2m list >>> is allocated for the to be expected memory size of the domain only, >>> hotplugged memory above that size will not be usable by the domain. >>> >>> Correct this by using a configurable size for the p2m list in case of >>> memory hotplug enabled (default supported memory size is 512 GB for >>> 64 bit domains and 4 GB for 32 bit domains). >>> >>> Signed-off-by: Juergen Gross <jgross@suse.com> >>> --- >>> arch/x86/xen/p2m.c | 10 +++++++++- >>> drivers/xen/Kconfig | 14 ++++++++++++++ >>> 2 files changed, 23 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c >>> index 9f93af5..b47124d 100644 >>> --- a/arch/x86/xen/p2m.c >>> +++ b/arch/x86/xen/p2m.c >>> @@ -91,6 +91,12 @@ EXPORT_SYMBOL_GPL(xen_p2m_size); >>> unsigned long xen_max_p2m_pfn __read_mostly; >>> EXPORT_SYMBOL_GPL(xen_max_p2m_pfn); >>> >>> +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >>> +#define P2M_LIMIT CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >>> +#else >>> +#define P2M_LIMIT 0 >>> +#endif >>> + >>> static DEFINE_SPINLOCK(p2m_update_lock); >>> >>> static unsigned long *p2m_mid_missing_mfn; >>> @@ -385,9 +391,11 @@ static void __init xen_rebuild_p2m_list(unsigned >>> long *p2m) >>> void __init xen_vmalloc_p2m_tree(void) >>> { >>> static struct vm_struct vm; >>> + unsigned long p2m_limit; >>> >>> + p2m_limit = (phys_addr_t)P2M_LIMIT * 1024 * 1024 * 1024 / >>> PAGE_SIZE; >>> vm.flags = VM_ALLOC; >>> - vm.size = ALIGN(sizeof(unsigned long) * xen_max_p2m_pfn, >>> + vm.size = ALIGN(sizeof(unsigned long) * max(xen_max_p2m_pfn, >>> p2m_limit), >>> PMD_SIZE * PMDS_PER_MID_PAGE); >>> vm_area_register_early(&vm, PMD_SIZE * PMDS_PER_MID_PAGE); >>> pr_notice("p2m virtual area at %p, size is %lx\n", vm.addr, >>> vm.size); >>> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig >>> index b812462..0f1b509 100644 >>> --- a/drivers/xen/Kconfig >>> +++ b/drivers/xen/Kconfig >>> @@ -55,6 +55,20 @@ config XEN_BALLOON_MEMORY_HOTPLUG >>> >>> In that case step 3 should be omitted. >>> >>> +config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >>> + int >> >> Because you've not supplied a summary for this option, it is not user >> configurable. Is this intentional? > > No. Sorry, I just tested it via editing .config, not using the menues. > Can you add it when committing (e.g. "Upper limit in GBs a pv domain > can be expanded to using memory hotplug")? > > Or should I send another patch? I'll fix it up. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 1/2] xen: prepare p2m list for memory hotplug @ 2015-03-23 14:57 ` David Vrabel 0 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 14:57 UTC (permalink / raw) To: Juergen Gross, David Vrabel, linux-kernel, xen-devel, konrad.wilk, boris.ostrovsky, daniel.kiper, pebolle On 23/03/15 14:29, Juergen Gross wrote: > On 03/23/2015 01:46 PM, David Vrabel wrote: >> On 20/03/15 12:55, Juergen Gross wrote: >>> Commit 054954eb051f35e74b75a566a96fe756015352c8 ("xen: switch to linear >>> virtual mapped sparse p2m list") introduced a regression regarding to >>> memory hotplug for a pv-domain: as the virtual space for the p2m list >>> is allocated for the to be expected memory size of the domain only, >>> hotplugged memory above that size will not be usable by the domain. >>> >>> Correct this by using a configurable size for the p2m list in case of >>> memory hotplug enabled (default supported memory size is 512 GB for >>> 64 bit domains and 4 GB for 32 bit domains). >>> >>> Signed-off-by: Juergen Gross <jgross@suse.com> >>> --- >>> arch/x86/xen/p2m.c | 10 +++++++++- >>> drivers/xen/Kconfig | 14 ++++++++++++++ >>> 2 files changed, 23 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c >>> index 9f93af5..b47124d 100644 >>> --- a/arch/x86/xen/p2m.c >>> +++ b/arch/x86/xen/p2m.c >>> @@ -91,6 +91,12 @@ EXPORT_SYMBOL_GPL(xen_p2m_size); >>> unsigned long xen_max_p2m_pfn __read_mostly; >>> EXPORT_SYMBOL_GPL(xen_max_p2m_pfn); >>> >>> +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >>> +#define P2M_LIMIT CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >>> +#else >>> +#define P2M_LIMIT 0 >>> +#endif >>> + >>> static DEFINE_SPINLOCK(p2m_update_lock); >>> >>> static unsigned long *p2m_mid_missing_mfn; >>> @@ -385,9 +391,11 @@ static void __init xen_rebuild_p2m_list(unsigned >>> long *p2m) >>> void __init xen_vmalloc_p2m_tree(void) >>> { >>> static struct vm_struct vm; >>> + unsigned long p2m_limit; >>> >>> + p2m_limit = (phys_addr_t)P2M_LIMIT * 1024 * 1024 * 1024 / >>> PAGE_SIZE; >>> vm.flags = VM_ALLOC; >>> - vm.size = ALIGN(sizeof(unsigned long) * xen_max_p2m_pfn, >>> + vm.size = ALIGN(sizeof(unsigned long) * max(xen_max_p2m_pfn, >>> p2m_limit), >>> PMD_SIZE * PMDS_PER_MID_PAGE); >>> vm_area_register_early(&vm, PMD_SIZE * PMDS_PER_MID_PAGE); >>> pr_notice("p2m virtual area at %p, size is %lx\n", vm.addr, >>> vm.size); >>> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig >>> index b812462..0f1b509 100644 >>> --- a/drivers/xen/Kconfig >>> +++ b/drivers/xen/Kconfig >>> @@ -55,6 +55,20 @@ config XEN_BALLOON_MEMORY_HOTPLUG >>> >>> In that case step 3 should be omitted. >>> >>> +config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT >>> + int >> >> Because you've not supplied a summary for this option, it is not user >> configurable. Is this intentional? > > No. Sorry, I just tested it via editing .config, not using the menues. > Can you add it when committing (e.g. "Upper limit in GBs a pv domain > can be expanded to using memory hotplug")? > > Or should I send another patch? I'll fix it up. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 12:55 [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains Juergen Gross 2015-03-20 12:55 ` [Patch V2 1/2] xen: prepare p2m list for memory hotplug Juergen Gross @ 2015-03-20 12:55 ` Juergen Gross 2015-03-20 13:44 ` Boris Ostrovsky 2015-03-20 13:46 ` Daniel Kiper 2015-03-23 15:17 ` David Vrabel 2 siblings, 2 replies; 19+ messages in thread From: Juergen Gross @ 2015-03-20 12:55 UTC (permalink / raw) To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle Cc: Juergen Gross Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set regions above the end of RAM as 1:1") introduced a regression. To be able to add memory pages which were added via memory hotplug to a pv domain, the pages must be "invalid" instead of "identity" in the p2m list before they can be added. Suggested-by: David Vrabel <david.vrabel@citrix.com> Signed-off-by: Juergen Gross <jgross@suse.com> --- drivers/xen/balloon.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index 0b52d92..65fedb8 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c @@ -229,6 +229,19 @@ static enum bp_state reserve_additional_memory(long credit) balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); nid = memory_add_physaddr_to_nid(hotplug_start_paddr); +#ifdef CONFIG_XEN_HAVE_PVMMU + if (!xen_feature(XENFEAT_auto_translated_physmap)) { + unsigned long pfn, i; + + pfn = PFN_DOWN(hotplug_start_paddr); + for (i = 0; i < balloon_hotplug; i++) + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { + pr_warn("set_phys_to_machine() failed, no memory added\n"); + return BP_ECANCELED; + } + } +#endif + rc = add_memory(nid, hotplug_start_paddr, balloon_hotplug << PAGE_SHIFT); if (rc) { -- 2.1.4 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 12:55 ` [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid Juergen Gross @ 2015-03-20 13:44 ` Boris Ostrovsky 2015-03-20 14:35 ` Juergen Gross 2015-03-23 11:47 ` David Vrabel 2015-03-20 13:46 ` Daniel Kiper 1 sibling, 2 replies; 19+ messages in thread From: Boris Ostrovsky @ 2015-03-20 13:44 UTC (permalink / raw) To: Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, daniel.kiper, pebolle On 03/20/2015 08:55 AM, Juergen Gross wrote: > Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set > regions above the end of RAM as 1:1") introduced a regression. > > To be able to add memory pages which were added via memory hotplug to > a pv domain, the pages must be "invalid" instead of "identity" in the > p2m list before they can be added. > > Suggested-by: David Vrabel <david.vrabel@citrix.com> > Signed-off-by: Juergen Gross <jgross@suse.com> > --- > drivers/xen/balloon.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c > index 0b52d92..65fedb8 100644 > --- a/drivers/xen/balloon.c > +++ b/drivers/xen/balloon.c > @@ -229,6 +229,19 @@ static enum bp_state reserve_additional_memory(long credit) > balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); > nid = memory_add_physaddr_to_nid(hotplug_start_paddr); > > +#ifdef CONFIG_XEN_HAVE_PVMMU > + if (!xen_feature(XENFEAT_auto_translated_physmap)) { > + unsigned long pfn, i; > + > + pfn = PFN_DOWN(hotplug_start_paddr); > + for (i = 0; i < balloon_hotplug; i++) > + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { > + pr_warn("set_phys_to_machine() failed, no memory added\n"); > + return BP_ECANCELED; I should have asked last time --- should we restore [0..i-1] mapping back to identity on error here? I wonder whether leaving those frames as invalid (when they are expected to be 'identity') could cause problems in the future. -boris > + } > + } > +#endif > + > rc = add_memory(nid, hotplug_start_paddr, balloon_hotplug << PAGE_SHIFT); > > if (rc) { ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 13:44 ` Boris Ostrovsky @ 2015-03-20 14:35 ` Juergen Gross 2015-03-23 11:47 ` David Vrabel 1 sibling, 0 replies; 19+ messages in thread From: Juergen Gross @ 2015-03-20 14:35 UTC (permalink / raw) To: Boris Ostrovsky, linux-kernel, xen-devel, konrad.wilk, david.vrabel, daniel.kiper, pebolle On 03/20/2015 02:44 PM, Boris Ostrovsky wrote: > On 03/20/2015 08:55 AM, Juergen Gross wrote: >> Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set >> regions above the end of RAM as 1:1") introduced a regression. >> >> To be able to add memory pages which were added via memory hotplug to >> a pv domain, the pages must be "invalid" instead of "identity" in the >> p2m list before they can be added. >> >> Suggested-by: David Vrabel <david.vrabel@citrix.com> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> --- >> drivers/xen/balloon.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c >> index 0b52d92..65fedb8 100644 >> --- a/drivers/xen/balloon.c >> +++ b/drivers/xen/balloon.c >> @@ -229,6 +229,19 @@ static enum bp_state >> reserve_additional_memory(long credit) >> balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); >> nid = memory_add_physaddr_to_nid(hotplug_start_paddr); >> +#ifdef CONFIG_XEN_HAVE_PVMMU >> + if (!xen_feature(XENFEAT_auto_translated_physmap)) { >> + unsigned long pfn, i; >> + >> + pfn = PFN_DOWN(hotplug_start_paddr); >> + for (i = 0; i < balloon_hotplug; i++) >> + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { >> + pr_warn("set_phys_to_machine() failed, no memory >> added\n"); >> + return BP_ECANCELED; > > I should have asked last time --- should we restore [0..i-1] mapping > back to identity on error here? I wonder whether leaving those frames as > invalid (when they are expected to be 'identity') could cause problems > in the future. The only reason why set_phys_to_machine() can fail is a lack of memory (which in this case would really be funny: adding memory fails due to a lack of memory). In case a retry succeeds everything is fine as setting an invalid entry to invalid again does no harm. In case the invalid entry does any harm it would have done so without set_phys_to_machine() failing. So I see no reason to restore the identity entries. Juergen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 13:44 ` Boris Ostrovsky @ 2015-03-23 11:47 ` David Vrabel 2015-03-23 11:47 ` David Vrabel 1 sibling, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 11:47 UTC (permalink / raw) To: Boris Ostrovsky, Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, daniel.kiper, pebolle On 20/03/15 13:44, Boris Ostrovsky wrote: > On 03/20/2015 08:55 AM, Juergen Gross wrote: >> Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set >> regions above the end of RAM as 1:1") introduced a regression. >> >> To be able to add memory pages which were added via memory hotplug to >> a pv domain, the pages must be "invalid" instead of "identity" in the >> p2m list before they can be added. >> >> Suggested-by: David Vrabel <david.vrabel@citrix.com> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> --- >> drivers/xen/balloon.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c >> index 0b52d92..65fedb8 100644 >> --- a/drivers/xen/balloon.c >> +++ b/drivers/xen/balloon.c >> @@ -229,6 +229,19 @@ static enum bp_state >> reserve_additional_memory(long credit) >> balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); >> nid = memory_add_physaddr_to_nid(hotplug_start_paddr); >> +#ifdef CONFIG_XEN_HAVE_PVMMU I've added this comment: /* * add_memory() will build page tables for the new memory so * the p2m must contain invalidate entries so the correct * non-present PTEs will be written. * * If a failure occurs, the original (identity) p2m entries * are not restored since this region is now known not to * conflict with any devices. */ >> + if (!xen_feature(XENFEAT_auto_translated_physmap)) { >> + unsigned long pfn, i; >> + >> + pfn = PFN_DOWN(hotplug_start_paddr); >> + for (i = 0; i < balloon_hotplug; i++) >> + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { >> + pr_warn("set_phys_to_machine() failed, no memory >> added\n"); >> + return BP_ECANCELED; > > I should have asked last time --- should we restore [0..i-1] mapping > back to identity on error here? I wonder whether leaving those frames as > invalid (when they are expected to be 'identity') could cause problems > in the future. See new comment above. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid @ 2015-03-23 11:47 ` David Vrabel 0 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 11:47 UTC (permalink / raw) To: Boris Ostrovsky, Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, daniel.kiper, pebolle On 20/03/15 13:44, Boris Ostrovsky wrote: > On 03/20/2015 08:55 AM, Juergen Gross wrote: >> Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set >> regions above the end of RAM as 1:1") introduced a regression. >> >> To be able to add memory pages which were added via memory hotplug to >> a pv domain, the pages must be "invalid" instead of "identity" in the >> p2m list before they can be added. >> >> Suggested-by: David Vrabel <david.vrabel@citrix.com> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> --- >> drivers/xen/balloon.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c >> index 0b52d92..65fedb8 100644 >> --- a/drivers/xen/balloon.c >> +++ b/drivers/xen/balloon.c >> @@ -229,6 +229,19 @@ static enum bp_state >> reserve_additional_memory(long credit) >> balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); >> nid = memory_add_physaddr_to_nid(hotplug_start_paddr); >> +#ifdef CONFIG_XEN_HAVE_PVMMU I've added this comment: /* * add_memory() will build page tables for the new memory so * the p2m must contain invalidate entries so the correct * non-present PTEs will be written. * * If a failure occurs, the original (identity) p2m entries * are not restored since this region is now known not to * conflict with any devices. */ >> + if (!xen_feature(XENFEAT_auto_translated_physmap)) { >> + unsigned long pfn, i; >> + >> + pfn = PFN_DOWN(hotplug_start_paddr); >> + for (i = 0; i < balloon_hotplug; i++) >> + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { >> + pr_warn("set_phys_to_machine() failed, no memory >> added\n"); >> + return BP_ECANCELED; > > I should have asked last time --- should we restore [0..i-1] mapping > back to identity on error here? I wonder whether leaving those frames as > invalid (when they are expected to be 'identity') could cause problems > in the future. See new comment above. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 12:55 ` [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid Juergen Gross 2015-03-20 13:44 ` Boris Ostrovsky @ 2015-03-20 13:46 ` Daniel Kiper 2015-03-20 14:27 ` Juergen Gross 2015-03-23 11:59 ` David Vrabel 1 sibling, 2 replies; 19+ messages in thread From: Daniel Kiper @ 2015-03-20 13:46 UTC (permalink / raw) To: Juergen Gross Cc: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, pebolle On Fri, Mar 20, 2015 at 01:55:39PM +0100, Juergen Gross wrote: > Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set > regions above the end of RAM as 1:1") introduced a regression. > > To be able to add memory pages which were added via memory hotplug to > a pv domain, the pages must be "invalid" instead of "identity" in the > p2m list before they can be added. > > Suggested-by: David Vrabel <david.vrabel@citrix.com> > Signed-off-by: Juergen Gross <jgross@suse.com> In general... Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> ... but... > --- > drivers/xen/balloon.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c > index 0b52d92..65fedb8 100644 > --- a/drivers/xen/balloon.c > +++ b/drivers/xen/balloon.c > @@ -229,6 +229,19 @@ static enum bp_state reserve_additional_memory(long credit) > balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); > nid = memory_add_physaddr_to_nid(hotplug_start_paddr); > > +#ifdef CONFIG_XEN_HAVE_PVMMU > + if (!xen_feature(XENFEAT_auto_translated_physmap)) { > + unsigned long pfn, i; > + > + pfn = PFN_DOWN(hotplug_start_paddr); > + for (i = 0; i < balloon_hotplug; i++) > + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { > + pr_warn("set_phys_to_machine() failed, no memory added\n"); > + return BP_ECANCELED; > + } > + } > +#endif Should not we fill everything above "maxmem" with INVALID_P2M_ENTRY at boot time? Daniel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 13:46 ` Daniel Kiper @ 2015-03-20 14:27 ` Juergen Gross 2015-03-23 11:59 ` David Vrabel 1 sibling, 0 replies; 19+ messages in thread From: Juergen Gross @ 2015-03-20 14:27 UTC (permalink / raw) To: Daniel Kiper Cc: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, pebolle On 03/20/2015 02:46 PM, Daniel Kiper wrote: > On Fri, Mar 20, 2015 at 01:55:39PM +0100, Juergen Gross wrote: >> Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set >> regions above the end of RAM as 1:1") introduced a regression. >> >> To be able to add memory pages which were added via memory hotplug to >> a pv domain, the pages must be "invalid" instead of "identity" in the >> p2m list before they can be added. >> >> Suggested-by: David Vrabel <david.vrabel@citrix.com> >> Signed-off-by: Juergen Gross <jgross@suse.com> > > In general... > > Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> > > ... but... > >> --- >> drivers/xen/balloon.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c >> index 0b52d92..65fedb8 100644 >> --- a/drivers/xen/balloon.c >> +++ b/drivers/xen/balloon.c >> @@ -229,6 +229,19 @@ static enum bp_state reserve_additional_memory(long credit) >> balloon_hotplug = round_up(balloon_hotplug, PAGES_PER_SECTION); >> nid = memory_add_physaddr_to_nid(hotplug_start_paddr); >> >> +#ifdef CONFIG_XEN_HAVE_PVMMU >> + if (!xen_feature(XENFEAT_auto_translated_physmap)) { >> + unsigned long pfn, i; >> + >> + pfn = PFN_DOWN(hotplug_start_paddr); >> + for (i = 0; i < balloon_hotplug; i++) >> + if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { >> + pr_warn("set_phys_to_machine() failed, no memory added\n"); >> + return BP_ECANCELED; >> + } >> + } >> +#endif > > Should not we fill everything above "maxmem" with > INVALID_P2M_ENTRY at boot time? In this case we shouldn't report "identity" for pfns above maxmem, too. Otherwise we could change behaviour of the kernel regarding PCI passthrough just by changing CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT which doesn't sound right. Juergen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid 2015-03-20 13:46 ` Daniel Kiper @ 2015-03-23 11:59 ` David Vrabel 2015-03-23 11:59 ` David Vrabel 1 sibling, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 11:59 UTC (permalink / raw) To: Daniel Kiper, Juergen Gross Cc: linux-kernel, xen-devel, konrad.wilk, boris.ostrovsky, pebolle On 20/03/15 13:46, Daniel Kiper wrote: > On Fri, Mar 20, 2015 at 01:55:39PM +0100, Juergen Gross wrote: >> Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set >> regions above the end of RAM as 1:1") introduced a regression. >> > > Should not we fill everything above "maxmem" with > INVALID_P2M_ENTRY at boot time? No. See the commit referenced above. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid @ 2015-03-23 11:59 ` David Vrabel 0 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 11:59 UTC (permalink / raw) To: Daniel Kiper, Juergen Gross Cc: linux-kernel, xen-devel, konrad.wilk, boris.ostrovsky, pebolle On 20/03/15 13:46, Daniel Kiper wrote: > On Fri, Mar 20, 2015 at 01:55:39PM +0100, Juergen Gross wrote: >> Commit 25b884a83d487fd62c3de7ac1ab5549979188482 ("x86/xen: set >> regions above the end of RAM as 1:1") introduced a regression. >> > > Should not we fill everything above "maxmem" with > INVALID_P2M_ENTRY at boot time? No. See the commit referenced above. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains 2015-03-20 12:55 [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains Juergen Gross @ 2015-03-23 15:17 ` David Vrabel 2015-03-20 12:55 ` [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid Juergen Gross 2015-03-23 15:17 ` David Vrabel 2 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 15:17 UTC (permalink / raw) To: Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle On 20/03/15 12:55, Juergen Gross wrote: > Fix some regressions introduced in 3.16 and 3.19. Applied to stable/for-linus-4.0 and tagged for stable, thanks. David ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Xen-devel] [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains @ 2015-03-23 15:17 ` David Vrabel 0 siblings, 0 replies; 19+ messages in thread From: David Vrabel @ 2015-03-23 15:17 UTC (permalink / raw) To: Juergen Gross, linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky, daniel.kiper, pebolle On 20/03/15 12:55, Juergen Gross wrote: > Fix some regressions introduced in 3.16 and 3.19. Applied to stable/for-linus-4.0 and tagged for stable, thanks. David ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2015-03-23 15:17 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-03-20 12:55 [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains Juergen Gross 2015-03-20 12:55 ` [Patch V2 1/2] xen: prepare p2m list for memory hotplug Juergen Gross 2015-03-20 13:42 ` Daniel Kiper 2015-03-23 12:46 ` [Xen-devel] " David Vrabel 2015-03-23 12:46 ` David Vrabel 2015-03-23 14:29 ` Juergen Gross 2015-03-23 14:57 ` David Vrabel 2015-03-23 14:57 ` David Vrabel 2015-03-20 12:55 ` [Patch V2 2/2] xen: before ballooning hotplugged memory, set frames to invalid Juergen Gross 2015-03-20 13:44 ` Boris Ostrovsky 2015-03-20 14:35 ` Juergen Gross 2015-03-23 11:47 ` [Xen-devel] " David Vrabel 2015-03-23 11:47 ` David Vrabel 2015-03-20 13:46 ` Daniel Kiper 2015-03-20 14:27 ` Juergen Gross 2015-03-23 11:59 ` David Vrabel 2015-03-23 11:59 ` David Vrabel 2015-03-23 15:17 ` [Xen-devel] [Patch V2 0/2] xen: fix regressions regarding memory hotplug in pv domains David Vrabel 2015-03-23 15:17 ` David Vrabel
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.