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 , errp=0x7fffffffdda8) at /home/ubuntu/qemu/hw/vfio/common.c:1257 #3 0x0000555555914f35 in vfio_get_group (groupid=45, as=0x5555565ca5a0 , 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 ) at qdev-monitor.c:635 #12 0x0000555555a1b11f in device_init_func (opaque=0x0, opts=0x5555566a0770, errp=0x55555661e790 ) at vl.c:2206 #13 0x0000555555e1c7fd in qemu_opts_foreach (list=0x555556468ee0 , func=0x555555a1b0f4 , opaque=0x0, errp=0x55555661e790 ) 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 ) at /home/ubuntu/qemu/memory.c:2714 #4 0x000055555587e3dd in memory_listener_register (listener=0x555557608440, as=0x5555565ca5a0 ) at /home/ubuntu/qemu/memory.c:2781 #5 0x000055555591499b in vfio_connect_container (group=0x5555576083b0, as=0x5555565ca5a0 , errp=0x7fffffffdda8) at /home/ubuntu/qemu/hw/vfio/common.c:1365 #6 0x0000555555914f35 in vfio_get_group (groupid=45, as=0x5555565ca5a0 , 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 ) at qdev-monitor.c:635 #15 0x0000555555a1b11f in device_init_func (opaque=0x0, opts=0x5555566a0770, errp=0x55555661e790 ) at vl.c:2206 #16 0x0000555555e1c7fd in qemu_opts_foreach (list=0x555556468ee0 , func=0x555555a1b0f4 , opaque=0x0, errp=0x55555661e790 ) 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