On Mon, Jul 21, 2025 at 01:51:44PM +0000, Bernd Schubert wrote:
> On 7/16/25 20:38, Brian Song wrote:
> > -    ret = io_uring_queue_init(FDMON_IO_URING_ENTRIES, 
> > &ctx->fdmon_io_uring, 0);
> > +    ret = io_uring_queue_init(FDMON_IO_URING_ENTRIES,
> > +                            &ctx->fdmon_io_uring, flags);
> >      if (ret != 0) {
> >          error_setg_errno(errp, -ret, "Failed to initialize io_uring");
> >          return;
> 
> I need test these flags again, might be worthful for qemu as well
> 
>       /* These flags should help to increase performance, but actually
>        * make it a bit slower - reason should get investigated.
>        */
>       if (0) {
>               /* Has the main slow down effect */
>               params.flags |= IORING_SETUP_SINGLE_ISSUER;
> 
>               // params.flags |= IORING_SETUP_DEFER_TASKRUN;
>               params.flags |= IORING_SETUP_TASKRUN_FLAG;
> 
>               /* Second main effect to make it slower */
>               params.flags |= IORING_SETUP_COOP_TASKRUN;
>       }

I measured the following using fio bs=4k in a 4 vCPU guest with 1
IOThread using a virtio-blk disk backed by a local NVMe drive:

                      IOPS               IOPS
Benchmark             SINGLE_ISSUER      SINGLE_ISSUER|COOP_TASKRUN|TASKRUN_FLAG
randread  iodepth=1   54,045 (+1.2%)     54,189 (+1.5%)
randread  iodepth=64  318,135 (+0.1%)    315,632 (-0.68%)
randwrite iodepth=1   141,918 (-0.44%)   143,337 (+0.55%)
randwrite iodepth=64  323,948 (-0.015%)  322,755 (-0.38%)

The differences are so small that I'd rather not merge the code changes.
I will post an RFC series just to archive the patches in case they are
needed again in the future.

You can find detailed benchmarking results here including the fio
output, fio command-line, and guest libvirt domain XML:
https://gitlab.com/stefanha/virt-playbooks/-/tree/io_uring-flags/notebook/fio-output
https://gitlab.com/stefanha/virt-playbooks/-/blob/io_uring-flags/files/fio.sh
https://gitlab.com/stefanha/virt-playbooks/-/blob/io_uring-flags/files/test.xml.j2

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to