Message ID | 20210421122624.12292-13-david@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RAM_NORESERVE, MAP_NORESERVE and hostmem "reserve" property | expand |
On Wed, Apr 21, 2021 at 02:26:21PM +0200, David Hildenbrand wrote: > Let's include the property, which can be helpful when debugging, > for example, to spot misuse of MAP_PRIVATE which can result in some ugly > corner cases (e.g., double-memory consumption on shmem). > > Use the same description we also use for describing the property. > > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > Cc: Eric Blake <eblake@redhat.com> > Cc: Markus Armbruster <armbru@redhat.com> > Cc: Igor Mammedov <imammedo@redhat.com> > Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
David Hildenbrand <david@redhat.com> writes: > Let's include the property, which can be helpful when debugging, > for example, to spot misuse of MAP_PRIVATE which can result in some ugly > corner cases (e.g., double-memory consumption on shmem). > > Use the same description we also use for describing the property. > > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > Cc: Eric Blake <eblake@redhat.com> > Cc: Markus Armbruster <armbru@redhat.com> > Cc: Igor Mammedov <imammedo@redhat.com> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > hw/core/machine-qmp-cmds.c | 1 + > qapi/machine.json | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c > index 68a942595a..d41db5b93b 100644 > --- a/hw/core/machine-qmp-cmds.c > +++ b/hw/core/machine-qmp-cmds.c > @@ -174,6 +174,7 @@ static int query_memdev(Object *obj, void *opaque) > m->merge = object_property_get_bool(obj, "merge", &error_abort); > m->dump = object_property_get_bool(obj, "dump", &error_abort); > m->prealloc = object_property_get_bool(obj, "prealloc", &error_abort); > + m->share = object_property_get_bool(obj, "share", &error_abort); > m->policy = object_property_get_enum(obj, "policy", "HostMemPolicy", > &error_abort); > host_nodes = object_property_get_qobject(obj, > diff --git a/qapi/machine.json b/qapi/machine.json > index 758b901185..32650bfe9e 100644 > --- a/qapi/machine.json > +++ b/qapi/machine.json > @@ -796,6 +796,8 @@ > # > # @prealloc: whether memory was preallocated > # > +# @share: whether memory is private to QEMU or shared (since 6.1) > +# > # @host-nodes: host nodes for its memory policy > # > # @policy: memory policy of memory backend > @@ -809,6 +811,7 @@ > 'merge': 'bool', > 'dump': 'bool', > 'prealloc': 'bool', > + 'share': 'bool', > 'host-nodes': ['uint16'], > 'policy': 'HostMemPolicy' }} Reviewed-by: Markus Armbruster <armbru@redhat.com>
diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index 68a942595a..d41db5b93b 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -174,6 +174,7 @@ static int query_memdev(Object *obj, void *opaque) m->merge = object_property_get_bool(obj, "merge", &error_abort); m->dump = object_property_get_bool(obj, "dump", &error_abort); m->prealloc = object_property_get_bool(obj, "prealloc", &error_abort); + m->share = object_property_get_bool(obj, "share", &error_abort); m->policy = object_property_get_enum(obj, "policy", "HostMemPolicy", &error_abort); host_nodes = object_property_get_qobject(obj, diff --git a/qapi/machine.json b/qapi/machine.json index 758b901185..32650bfe9e 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -796,6 +796,8 @@ # # @prealloc: whether memory was preallocated # +# @share: whether memory is private to QEMU or shared (since 6.1) +# # @host-nodes: host nodes for its memory policy # # @policy: memory policy of memory backend @@ -809,6 +811,7 @@ 'merge': 'bool', 'dump': 'bool', 'prealloc': 'bool', + 'share': 'bool', 'host-nodes': ['uint16'], 'policy': 'HostMemPolicy' }}