All of lore.kernel.org
 help / color / mirror / Atom feed
* Excessive IO PSI for iothread when using io_uring since QEMU 10.2
@ 2026-04-24 10:25 Fiona Ebner
  2026-04-27 19:13 ` Stefan Hajnoczi
  0 siblings, 1 reply; 10+ messages in thread
From: Fiona Ebner @ 2026-04-24 10:25 UTC (permalink / raw)
  To: open list:Network Block Dev...
  Cc: QEMU Developers, Stefan Hajnoczi, Fam Zheng, Hanna Czenczek,
	Kevin Wolf

Dear maintainers,

since QEMU 10.2, if io_uring is enabled, it will be used for the event
loop of iothreads and this causes an IO pressure stall value of nearly
100 when idle.

The issue was also reported on the kernel mailing list [0]. The
suggestion from Jens Axboe was to just turn off the iowait accounting
completely. But since (for block/file-posix.c), there is actual IO
submitted via the same ring, I wasn't sure if that is the right approach.

So the idea was to keep track of whether the event loop is otherwise
idle and only use the IORING_ENTER_NO_IOWAIT flag in that case [1].

However, doing so would only help for block/file-posix.c, which submits
IO via luring_co_submit() -> fdmon_io_uring_add_sqe(). For example, for
block/rbd.c, only a poll SQE for the AioHandler node's fd is used. When
submitting that poll SQE in the iothread, we would need to be able to
know if IO for RBD is currently in-flight or not to be able to decide
whether to use the IORING_ENTER_NO_IOWAIT flag or not. Is there a good
way to do this (in a general way)?

Or should the flag really always be used (if supported by the kernel)?
Is there a way to tell io_uring/kernel that we are an event loop and our
waiting should only be accounted for when there is actual IO in-flight?

Happy to hear your opinions and suggestions!

[0]:
https://lore.kernel.org/io-uring/14bc6266-5bc9-4454-9518-d1016bfe417b@proxmox.com/T/

[1]:
https://lore.proxmox.com/pve-devel/525c4dad-6d04-41f0-8a21-9302b0c6baa4@proxmox.com/T/

Best Regards,
Fiona



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-06-02 12:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-24 10:25 Excessive IO PSI for iothread when using io_uring since QEMU 10.2 Fiona Ebner
2026-04-27 19:13 ` Stefan Hajnoczi
2026-04-28 12:10   ` Fiona Ebner
2026-04-28 13:31     ` Fiona Ebner
2026-04-28 16:19     ` Stefan Hajnoczi
2026-04-29  8:00       ` Fiona Ebner
2026-04-29 12:20         ` Stefan Hajnoczi
2026-06-01 17:20         ` Stefan Hajnoczi
2026-06-02  8:41           ` Fiona Ebner
2026-06-02 12:08             ` Stefan Hajnoczi

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.