[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