All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] pc-dimm: error out if memory hotplug is not enabled
@ 2014-06-25  9:58 Igor Mammedov
  2014-06-25 10:03 ` Hu Tao
  0 siblings, 1 reply; 3+ messages in thread
From: Igor Mammedov @ 2014-06-25  9:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: hutao, mst

fixes QEMU abort in case it's started without memory
hotplug enabled.

as result of fix it will print following messages:
"
-device pc-dimm,id=d1,memdev=m1: memory hotplug is not enabled, enable it on startup
-device pc-dimm,id=d1,memdev=m1: Device 'pc-dimm' could not be initialized
"

Also fixup assert condition to detect hotplug address
space overflow.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reported-by:  Hu Tao <hutao@cn.fujitsu.com>
---
 hw/mem/pc-dimm.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index ad176b7..991f0f8 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -146,7 +146,12 @@ uint64_t pc_dimm_get_free_addr(uint64_t address_space_start,
     uint64_t new_addr, ret = 0;
     uint64_t address_space_end = address_space_start + address_space_size;
 
-    assert(address_space_end > address_space_size);
+    if (!address_space_size) {
+        error_setg(errp, "memory hotplug is not enabled, enable it on startup");
+        goto out;
+    }
+
+    assert(address_space_end > address_space_start);
     object_child_foreach(qdev_get_machine(), pc_dimm_built_list, &list);
 
     if (hint) {
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] pc-dimm: error out if memory hotplug is not enabled
  2014-06-25  9:58 [Qemu-devel] [PATCH] pc-dimm: error out if memory hotplug is not enabled Igor Mammedov
@ 2014-06-25 10:03 ` Hu Tao
  2014-06-25 11:36   ` Igor Mammedov
  0 siblings, 1 reply; 3+ messages in thread
From: Hu Tao @ 2014-06-25 10:03 UTC (permalink / raw)
  To: Igor Mammedov; +Cc: qemu-devel, mst

On Wed, Jun 25, 2014 at 11:58:09AM +0200, Igor Mammedov wrote:
> fixes QEMU abort in case it's started without memory
> hotplug enabled.
> 
> as result of fix it will print following messages:
> "
> -device pc-dimm,id=d1,memdev=m1: memory hotplug is not enabled, enable it on startup
> -device pc-dimm,id=d1,memdev=m1: Device 'pc-dimm' could not be initialized
> "
> 
> Also fixup assert condition to detect hotplug address
> space overflow.
> 
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> Reported-by:  Hu Tao <hutao@cn.fujitsu.com>
> ---
>  hw/mem/pc-dimm.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
> index ad176b7..991f0f8 100644
> --- a/hw/mem/pc-dimm.c
> +++ b/hw/mem/pc-dimm.c
> @@ -146,7 +146,12 @@ uint64_t pc_dimm_get_free_addr(uint64_t address_space_start,
>      uint64_t new_addr, ret = 0;
>      uint64_t address_space_end = address_space_start + address_space_size;
>  
> -    assert(address_space_end > address_space_size);
> +    if (!address_space_size) {
> +        error_setg(errp, "memory hotplug is not enabled, enable it on startup");

I'm just thinking if it's more clear to user to explictly state -m maxmem,slots here.
As there is little chance -m will change in the future for
compatibility, sync with it here won't be a problem. What do you think?

Hu

> +        goto out;
> +    }
> +
> +    assert(address_space_end > address_space_start);
>      object_child_foreach(qdev_get_machine(), pc_dimm_built_list, &list);
>  
>      if (hint) {
> -- 
> 1.7.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] pc-dimm: error out if memory hotplug is not enabled
  2014-06-25 10:03 ` Hu Tao
@ 2014-06-25 11:36   ` Igor Mammedov
  0 siblings, 0 replies; 3+ messages in thread
From: Igor Mammedov @ 2014-06-25 11:36 UTC (permalink / raw)
  To: Hu Tao; +Cc: qemu-devel, mst

On Wed, 25 Jun 2014 18:03:02 +0800
Hu Tao <hutao@cn.fujitsu.com> wrote:

> On Wed, Jun 25, 2014 at 11:58:09AM +0200, Igor Mammedov wrote:
> > fixes QEMU abort in case it's started without memory
> > hotplug enabled.
> > 
> > as result of fix it will print following messages:
> > "
> > -device pc-dimm,id=d1,memdev=m1: memory hotplug is not enabled, enable it on startup
> > -device pc-dimm,id=d1,memdev=m1: Device 'pc-dimm' could not be initialized
> > "
> > 
> > Also fixup assert condition to detect hotplug address
> > space overflow.
> > 
> > Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> > Reported-by:  Hu Tao <hutao@cn.fujitsu.com>
> > ---
> >  hw/mem/pc-dimm.c |    7 ++++++-
> >  1 files changed, 6 insertions(+), 1 deletions(-)
> > 
> > diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
> > index ad176b7..991f0f8 100644
> > --- a/hw/mem/pc-dimm.c
> > +++ b/hw/mem/pc-dimm.c
> > @@ -146,7 +146,12 @@ uint64_t pc_dimm_get_free_addr(uint64_t address_space_start,
> >      uint64_t new_addr, ret = 0;
> >      uint64_t address_space_end = address_space_start + address_space_size;
> >  
> > -    assert(address_space_end > address_space_size);
> > +    if (!address_space_size) {
> > +        error_setg(errp, "memory hotplug is not enabled, enable it on startup");
> 
> I'm just thinking if it's more clear to user to explictly state -m maxmem,slots here.
> As there is little chance -m will change in the future for
> compatibility, sync with it here won't be a problem. What do you think?

Ok, maybe like mst've suggested:
 "memory hotplug is not enabled, please add maxmem option"

> 
> Hu
> 
> > +        goto out;
> > +    }
> > +
> > +    assert(address_space_end > address_space_start);
> >      object_child_foreach(qdev_get_machine(), pc_dimm_built_list, &list);
> >  
> >      if (hint) {
> > -- 
> > 1.7.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-06-25 11:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-25  9:58 [Qemu-devel] [PATCH] pc-dimm: error out if memory hotplug is not enabled Igor Mammedov
2014-06-25 10:03 ` Hu Tao
2014-06-25 11:36   ` Igor Mammedov

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.