From: Jens Axboe <axboe@kernel.dk>
To: Fiona Ebner <f.ebner@proxmox.com>, qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, fam@euphon.net, stefanha@redhat.com,
qemu-stable@nongnu.org
Subject: Re: [PATCHSET 0/2] io_uring fixes
Date: Tue, 3 Mar 2026 09:51:05 -0700 [thread overview]
Message-ID: <287ca341-13a4-4c8c-8bb2-e78dc019c7dc@kernel.dk> (raw)
In-Reply-To: <3ba732d8-8e33-4bf3-af39-00360c39b940@proxmox.com>
On 3/3/26 4:52 AM, Fiona Ebner wrote:
> Am 13.02.26 um 3:33 PM schrieb Jens Axboe:
>> Hi,
>>
>> Patch 1 here is the real meat of this, patch 2 is just a slight
>> improvement. For patch 1, it can literally yield a 50-80x improvement
>> on the io_uring side for idle systems, where ppoll() ends up sleeping
>> for 500 msec while there's IO to submit! I noticed this running the
>> io_uring regression tests in a vm, where I use a variety of block
>> devices for some of the tests. They would often randomly time out on
>> AHCI devices, while running them on a virtio-blk or nvme device would
>> finish in one second or so. I then wrote a reproducer to try and grok
>> this and had claude dive into this, which helped me better grasp the
>> various event loops.
>>
>> Please take a look and tell me what you think. Some variant of patch 1
>> should definitely be considered, but let me know if this is the right
>> approach. I can easily test anything.
>>
>> Also note - this seems to trigger more easily or consistently on
>> aarch64, which is where I run most of my local/immediate testing.
>>
>> util/fdmon-io_uring.c | 22 +++++++++++++++++++++-
>> 1 file changed, 21 insertions(+), 1 deletion(-)
>>
>
> CC-ing qemu-stable since this affects the 10.2 branch. The fixes are
> already applied to master as
>
> 2ae361ef1d aio-posix: notify main loop when SQEs are queued
> 961fcc0f22 fdmon-io_uring: check CQ ring directly in gsource_check
Yes please, would be nice for them to hit the stable release(s) as
well. Thanks Fiona!
--
Jens Axboe
next prev parent reply other threads:[~2026-03-03 16:52 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-13 14:26 [PATCHSET 0/2] io_uring fixes Jens Axboe
2026-02-13 14:26 ` [PATCH 1/2] fdmon-io_uring: notify main loop when SQEs are queued Jens Axboe
2026-02-13 16:04 ` Kevin Wolf
2026-02-18 9:57 ` Fiona Ebner
2026-02-18 16:06 ` Stefan Hajnoczi
2026-02-18 16:17 ` Jens Axboe
2026-02-18 20:02 ` Stefan Hajnoczi
2026-02-18 16:11 ` Stefan Hajnoczi
2026-02-18 16:19 ` Jens Axboe
2026-02-18 16:41 ` [PATCH v2] aio-posix: " Jens Axboe
2026-02-18 20:57 ` Stefan Hajnoczi
2026-02-19 14:27 ` Jens Axboe
2026-02-19 15:49 ` Kevin Wolf
2026-02-23 13:53 ` Stefan Hajnoczi
2026-02-18 15:56 ` [PATCH 1/2] fdmon-io_uring: " Stefan Hajnoczi
2026-02-13 14:26 ` [PATCH 2/2] fdmon-io_uring: check CQ ring directly in gsource_check Jens Axboe
2026-02-13 16:22 ` Kevin Wolf
2026-02-18 16:24 ` Stefan Hajnoczi
2026-02-18 10:07 ` [PATCHSET 0/2] io_uring fixes Fiona Ebner
2026-03-03 11:52 ` Fiona Ebner
2026-03-03 16:51 ` Jens Axboe [this message]
2026-03-08 12:11 ` Michael Tokarev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=287ca341-13a4-4c8c-8bb2-e78dc019c7dc@kernel.dk \
--to=axboe@kernel.dk \
--cc=f.ebner@proxmox.com \
--cc=fam@euphon.net \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.