[dpdk-dev] [DPDK-memory] how qemu waste such long time under dpdk huge page envriment?

Sam batmanustc at gmail.com
Fri Jun 16 10:26:40 CEST 2017


BTW, while running ovs-dpdk, this log is also take long time, does that
mean dpdk request large memory take long time?

EAL: Setting up physically contiguous memory...


2017-06-16 16:11 GMT+08:00 Sam <batmanustc at gmail.com>:

> Hi all,
>
> I'm running `QEMU_CMD ...` to create a vm under dpdk huge page envriment
> (which set huge page 1G). And I enable all events in qemu.
>
> For qemu and ovs-dpdk(ovs-2.4.9 with dpdk-2.2.0) environment, detail log
> is:
>
> > 30012 at 1497443246.678304:object_dynamic_cast_assert
> qemu:memory-region->qemu:memory-region (/home/hu
> > anghuai/cloud/contrib/qemu-2.6.0/memory.c:1076:memory_region_initfn)
> > 30012 at 1497443256.274866:object_dynamic_cast_assert
> qio-channel-socket->qio-channel-socket (io/chann
> > el-socket.c:389:qio_channel_socket_init)
>
>
> I don't know why qemu doing 'memory_region_initfn' function in this 10
> second, does anyone know this?
>
> static void memory_region_initfn(Object *obj)
>> {
>>     MemoryRegion *mr = MEMORY_REGION(obj);
>>     ObjectProperty *op;
>>     mr->ops = &unassigned_mem_ops;
>>     mr->enabled = true;
>>     mr->romd_mode = true;
>>     mr->global_locking = true;
>>     mr->destructor = memory_region_destructor_none;
>>     QTAILQ_INIT(&mr->subregions);
>>     QTAILQ_INIT(&mr->coalesced);
>>     op = object_property_add(OBJECT(mr), "container",
>>                              "link<" TYPE_MEMORY_REGION ">",
>>                              memory_region_get_container,
>>                              NULL, /* memory_region_set_container */
>>                              NULL, NULL, &error_abort);
>>     op->resolve = memory_region_resolve_container;
>>     object_property_add(OBJECT(mr), "addr", "uint64",
>>                         memory_region_get_addr,
>>                         NULL, /* memory_region_set_addr */
>>                         NULL, NULL, &error_abort);
>>     object_property_add(OBJECT(mr), "priority", "uint32",
>>                         memory_region_get_priority,
>>                         NULL, /* memory_region_set_priority */
>>                         NULL, NULL, &error_abort);
>>     object_property_add_bool(OBJECT(mr), "may-overlap",
>>                              memory_region_get_may_overlap,
>>                              NULL, /* memory_region_set_may_overlap */
>>                              &error_abort);
>>     object_property_add(OBJECT(mr), "size", "uint64",
>>                         memory_region_get_size,
>>                         NULL, /* memory_region_set_size, */
>>                         NULL, NULL, &error_abort);
>> }
>
>
> Thank you~
>


More information about the dev mailing list