From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: guangrong.xiao@linux.intel.com, mst@redhat.com,
qemu-devel@nongnu.org, armbru@redhat.com, lcapitulino@redhat.com,
stefanha@redhat.com, cornelia.huck@de.ibm.com, den@openvz.org
Subject: Re: [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list()
Date: Fri, 5 Feb 2016 17:08:14 +0300 [thread overview]
Message-ID: <56B4ACCE.3000606@virtuozzo.com> (raw)
In-Reply-To: <20160205135158.656064eb@nial.brq.redhat.com>
On 05.02.2016 15:51, Igor Mammedov wrote:
> On Fri, 5 Feb 2016 11:18:59 +0300
> Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote:
>
>> Like pc_dimm_build_list_sorted but not sorted - for cases where sorting
>> is not necessary. Add stubbed version too - for targets without
>> CONFIG_MEM_HOTPLUG.
> It's not performance critical path, is there a reason why sorted list
> can't be used?
Only not doing superfluous sorting, no other reasons. I'm ok with sorted
version too.
>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
>> ---
>> hw/mem/pc-dimm.c | 15 +++++++++++++++
>> include/hw/mem/pc-dimm.h | 3 +++
>> stubs/Makefile.objs | 2 +-
>> stubs/pc_dimm.c | 12 ++++++++++++
>> stubs/qmp_pc_dimm_device_list.c | 7 -------
>> 5 files changed, 31 insertions(+), 8 deletions(-)
>> create mode 100644 stubs/pc_dimm.c
>> delete mode 100644 stubs/qmp_pc_dimm_device_list.c
>>
>> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
>> index 4a681bc..0f102c0 100644
>> --- a/hw/mem/pc-dimm.c
>> +++ b/hw/mem/pc-dimm.c
>> @@ -266,6 +266,21 @@ static int pc_dimm_build_list_sorted(Object *obj, void *opaque)
>> return 0;
>> }
>>
>> +int pc_dimm_build_list(Object *obj, void *opaque)
>> +{
>> + GSList **list = opaque;
>> +
>> + if (object_dynamic_cast(obj, TYPE_PC_DIMM)) {
>> + DeviceState *dev = DEVICE(obj);
>> + if (dev->realized) { /* only realized DIMMs matter */
>> + *list = g_slist_prepend(*list, dev);
>> + }
>> + }
>> +
>> + object_child_foreach(obj, pc_dimm_build_list, opaque);
>> + return 0;
>> +}
>> +
>> uint64_t pc_dimm_get_free_addr(uint64_t address_space_start,
>> uint64_t address_space_size,
>> uint64_t *hint, uint64_t align, uint64_t size,
>> diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
>> index d83bf30..ab136a3 100644
>> --- a/include/hw/mem/pc-dimm.h
>> +++ b/include/hw/mem/pc-dimm.h
>> @@ -94,4 +94,7 @@ void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugState *hpms,
>> MemoryRegion *mr, uint64_t align, Error **errp);
>> void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotplugState *hpms,
>> MemoryRegion *mr);
>> +
>> +int pc_dimm_build_list(Object *obj, void *opaque);
>> +
>> #endif
>> diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
>> index d7898a0..781c002 100644
>> --- a/stubs/Makefile.objs
>> +++ b/stubs/Makefile.objs
>> @@ -34,7 +34,7 @@ stub-obj-y += vmstate.o
>> stub-obj-$(CONFIG_WIN32) += fd-register.o
>> stub-obj-y += cpus.o
>> stub-obj-y += kvm.o
>> -stub-obj-y += qmp_pc_dimm_device_list.o
>> +stub-obj-y += pc_dimm.o
>> stub-obj-y += target-monitor-defs.o
>> stub-obj-y += target-get-monitor-def.o
>> stub-obj-y += vhost.o
>> diff --git a/stubs/pc_dimm.c b/stubs/pc_dimm.c
>> new file mode 100644
>> index 0000000..5312f50
>> --- /dev/null
>> +++ b/stubs/pc_dimm.c
>> @@ -0,0 +1,12 @@
>> +#include "qom/object.h"
>> +#include "hw/mem/pc-dimm.h"
>> +
>> +int qmp_pc_dimm_device_list(Object *obj, void *opaque)
>> +{
>> + return 0;
>> +}
>> +
>> +int pc_dimm_build_list(Object *obj, void *opaque)
>> +{
>> + return 0;
>> +}
>> diff --git a/stubs/qmp_pc_dimm_device_list.c b/stubs/qmp_pc_dimm_device_list.c
>> deleted file mode 100644
>> index 5cb220c..0000000
>> --- a/stubs/qmp_pc_dimm_device_list.c
>> +++ /dev/null
>> @@ -1,7 +0,0 @@
>> -#include "qom/object.h"
>> -#include "hw/mem/pc-dimm.h"
>> -
>> -int qmp_pc_dimm_device_list(Object *obj, void *opaque)
>> -{
>> - return 0;
>> -}
--
Best regards,
Vladimir
next prev parent reply other threads:[~2016-02-05 14:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-05 8:18 [Qemu-devel] [PATCH 0/5] don't use NVDIMM for balooning Vladimir Sementsov-Ogievskiy
2016-02-05 8:18 ` [Qemu-devel] [PATCH 1/5] move get_current_ram_size to virtio-balloon.c Vladimir Sementsov-Ogievskiy
2016-02-05 8:18 ` [Qemu-devel] [PATCH 2/5] pc-dimm: rename pc_dimm_built_list() Vladimir Sementsov-Ogievskiy
2016-02-05 12:50 ` Igor Mammedov
2016-02-05 8:18 ` [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list() Vladimir Sementsov-Ogievskiy
2016-02-05 12:51 ` Igor Mammedov
2016-02-05 14:08 ` Vladimir Sementsov-Ogievskiy [this message]
2016-02-05 8:19 ` [Qemu-devel] [PATCH 4/5] virtio-balloon: rewrite get_current_ram_size() Vladimir Sementsov-Ogievskiy
2016-02-05 12:57 ` Igor Mammedov
2016-02-05 14:12 ` Vladimir Sementsov-Ogievskiy
2016-02-05 14:53 ` Igor Mammedov
2016-02-05 8:19 ` [Qemu-devel] [PATCH 5/5] balloon: Use only 'pc-dimm' type dimm for ballooning Vladimir Sementsov-Ogievskiy
2016-02-05 12:58 ` Igor Mammedov
2016-02-05 14:09 ` Vladimir Sementsov-Ogievskiy
2016-02-05 14:55 ` Igor Mammedov
2016-02-05 16:22 ` Vladimir Sementsov-Ogievskiy
2016-02-05 8:21 ` [Qemu-devel] [PATCH v6 0/5] don't use NVDIMM for balooning Vladimir Sementsov-Ogievskiy
-- strict thread matches above, loose matches on Subject: below --
2016-02-10 8:49 [Qemu-devel] [PATCH v7 " Vladimir Sementsov-Ogievskiy
2016-02-10 8:49 ` [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list() Vladimir Sementsov-Ogievskiy
2016-02-04 11:37 [Qemu-devel] [PATCH v5 0/5] don't use NVDIMM for balooning Vladimir Sementsov-Ogievskiy
2016-02-04 11:37 ` [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list() Vladimir Sementsov-Ogievskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B4ACCE.3000606@virtuozzo.com \
--to=vsementsov@virtuozzo.com \
--cc=armbru@redhat.com \
--cc=cornelia.huck@de.ibm.com \
--cc=den@openvz.org \
--cc=guangrong.xiao@linux.intel.com \
--cc=imammedo@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.