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


Reply via email to