Many ioctls (as expected) but they are all fast and match what we knew from 
strace.
Thread 1 "qemu-system-x86" hit Catchpoint 1 (call to syscall ioctl), 
0x00007ffff72fae0b in ioctl () at ../sysdeps/unix/syscall-template.S:78
78      in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0  0x00007ffff72fae0b in ioctl () at ../sysdeps/unix/syscall-template.S:78
#1  0x0000555555914217 in vfio_init_container (container=0x555557608430, 
group_fd=11, errp=0x7fffffffdda8) at /home/ubuntu/qemu/hw/vfio/common.c:1172
#2  0x000055555591445e in vfio_connect_container (group=0x5555576083b0, 
as=0x5555565ca5a0 <address_space_memory>, errp=0x7fffffffdda8) at 
/home/ubuntu/qemu/hw/vfio/common.c:1257
#3  0x0000555555914f35 in vfio_get_group (groupid=45, as=0x5555565ca5a0 
<address_space_memory>, errp=0x7fffffffdda8) at 
/home/ubuntu/qemu/hw/vfio/common.c:1482
#4  0x0000555555920575 in vfio_realize (pdev=0x555557600570, 
errp=0x7fffffffdda8) at /home/ubuntu/qemu/hw/vfio/pci.c:2759
#5  0x0000555555b853d7 in pci_qdev_realize (qdev=0x555557600570, 
errp=0x7fffffffde20) at hw/pci/pci.c:2096
#6  0x0000555555aac178 in device_set_realized (obj=0x555557600570, value=true, 
errp=0x7fffffffdff0) at hw/core/qdev.c:835
#7  0x0000555555cb857a in property_set_bool (obj=0x555557600570, 
v=0x555557602f00, name=0x555555f3b5d2 "realized", opaque=0x5555574e79e0, 
errp=0x7fffffffdff0) at qom/object.c:2080
#8  0x0000555555cb6731 in object_property_set (obj=0x555557600570, 
v=0x555557602f00, name=0x555555f3b5d2 "realized", errp=0x7fffffffdff0) at 
qom/object.c:1272
#9  0x0000555555cb9965 in object_property_set_qobject (obj=0x555557600570, 
value=0x555557602dc0, name=0x555555f3b5d2 "realized", errp=0x7fffffffdff0) at 
qom/qom-qobject.c:26
#10 0x0000555555cb6a2a in object_property_set_bool (obj=0x555557600570, 
value=true, name=0x555555f3b5d2 "realized", errp=0x7fffffffdff0) at 
qom/object.c:1338
#11 0x0000555555a12cb1 in qdev_device_add (opts=0x5555566a0770, 
errp=0x55555661e790 <error_fatal>) at qdev-monitor.c:635
#12 0x0000555555a1b11f in device_init_func (opaque=0x0, opts=0x5555566a0770, 
errp=0x55555661e790 <error_fatal>) at vl.c:2206
#13 0x0000555555e1c7fd in qemu_opts_foreach (list=0x555556468ee0 
<qemu_device_opts>, func=0x555555a1b0f4 <device_init_func>, opaque=0x0, 
errp=0x55555661e790 <error_fatal>)
    at util/qemu-option.c:1170
#14 0x0000555555a2009d in main (argc=14, argv=0x7fffffffe3d8, 
envp=0x7fffffffe450) at vl.c:4387


The slow one is again the full iommu mapping of the guest memory:
(gdb) bt
#0  0x00007ffff72fae0b in ioctl () at ../sysdeps/unix/syscall-template.S:78
#1  0x0000555555911a9e in vfio_dma_map (container=0x555557608430, 
iova=4294967296, size=134217728000, vaddr=0x7fe01fe00000, readonly=false) at 
/home/ubuntu/qemu/hw/vfio/common.c:349
#2  0x000055555591299b in vfio_listener_region_add (listener=0x555557608440, 
section=0x7fffffffcad0) at /home/ubuntu/qemu/hw/vfio/common.c:664
#3  0x000055555587dfb0 in listener_add_address_space (listener=0x555557608440, 
as=0x5555565ca5a0 <address_space_memory>) at /home/ubuntu/qemu/memory.c:2714
#4  0x000055555587e3dd in memory_listener_register (listener=0x555557608440, 
as=0x5555565ca5a0 <address_space_memory>) at /home/ubuntu/qemu/memory.c:2781
#5  0x000055555591499b in vfio_connect_container (group=0x5555576083b0, 
as=0x5555565ca5a0 <address_space_memory>, errp=0x7fffffffdda8) at 
/home/ubuntu/qemu/hw/vfio/common.c:1365
#6  0x0000555555914f35 in vfio_get_group (groupid=45, as=0x5555565ca5a0 
<address_space_memory>, errp=0x7fffffffdda8) at 
/home/ubuntu/qemu/hw/vfio/common.c:1482
#7  0x0000555555920575 in vfio_realize (pdev=0x555557600570, 
errp=0x7fffffffdda8) at /home/ubuntu/qemu/hw/vfio/pci.c:2759
#8  0x0000555555b853d7 in pci_qdev_realize (qdev=0x555557600570, 
errp=0x7fffffffde20) at hw/pci/pci.c:2096
#9  0x0000555555aac178 in device_set_realized (obj=0x555557600570, value=true, 
errp=0x7fffffffdff0) at hw/core/qdev.c:835
#10 0x0000555555cb857a in property_set_bool (obj=0x555557600570, 
v=0x555557602f00, name=0x555555f3b5d2 "realized", opaque=0x5555574e79e0, 
errp=0x7fffffffdff0) at qom/object.c:2080
#11 0x0000555555cb6731 in object_property_set (obj=0x555557600570, 
v=0x555557602f00, name=0x555555f3b5d2 "realized", errp=0x7fffffffdff0) at 
qom/object.c:1272
#12 0x0000555555cb9965 in object_property_set_qobject (obj=0x555557600570, 
value=0x555557602dc0, name=0x555555f3b5d2 "realized", errp=0x7fffffffdff0) at 
qom/qom-qobject.c:26
#13 0x0000555555cb6a2a in object_property_set_bool (obj=0x555557600570, 
value=true, name=0x555555f3b5d2 "realized", errp=0x7fffffffdff0) at 
qom/object.c:1338
#14 0x0000555555a12cb1 in qdev_device_add (opts=0x5555566a0770, 
errp=0x55555661e790 <error_fatal>) at qdev-monitor.c:635
#15 0x0000555555a1b11f in device_init_func (opaque=0x0, opts=0x5555566a0770, 
errp=0x55555661e790 <error_fatal>) at vl.c:2206
#16 0x0000555555e1c7fd in qemu_opts_foreach (list=0x555556468ee0 
<qemu_device_opts>, func=0x555555a1b0f4 <device_init_func>, opaque=0x0, 
errp=0x55555661e790 <error_fatal>)
    at util/qemu-option.c:1170
#17 0x0000555555a2009d in main (argc=14, argv=0x7fffffffe3d8, 
envp=0x7fffffffe450) at vl.c:4387
(gdb) c
Continuing.


In particular:
vfio_dma_map (container=0x555557608430, iova=4294967296, size=134217728000, 
vaddr=0x7fe01fe00000, readonly=false)

size=134217728000 being my 128G test

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1838575

Title:
  passthrough devices cause >17min boot delay

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838575/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to