From: Stefan Reiter <s.reiter@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH qemu-server] cfg2cmd/drive: don't use io_uring for krbd with wb/wt cache
Date: Wed, 30 Jun 2021 17:18:17 +0200 [thread overview]
Message-ID: <20210630151817.1707616-1-s.reiter@proxmox.com> (raw)
As reported here and locally reproduced:
https://forum.proxmox.com/threads/efi-vms-wont-start-under-7-beta-with-writeback-cache.91629/
This configuration is currently broken. Until we figure out how to fix
it properly, we can just have this (luckily very narrow) config pattern
fall back to aio=threads as it used to.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
---
I tried my usual QEMU debugging routine, but couldn't figure anything specific
out - it's not related to EFI, happens on SeaBIOS too, but looking at GDB just
appears that it's waiting for the io_uring fd to become ready (in ppoll)...
I did also test with a newer liburing (2.0 from git) but it didn't help.
Anyway, until I figure it out (which may not happen until the release), let's
work around with this, we can always roll this back later, as it doesn't break
migration/snapshots to change 'aio' type.
The forum post mentioned other SCSI controllers fixing the issue too, but that
just confuses me even more, and we don't have that information available for
cheap here, so I just made it fall back for all of them.
PVE/QemuServer.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 8af4176..f760467 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -1600,8 +1600,11 @@ sub print_drive_commandline_full {
$cache_direct = 1;
}
+ # io_uring with cache mode writeback or writethrough on krbd will hang...
+ my $rbd_no_io_uring = $scfg && $scfg->{type} eq 'rbd' && $scfg->{krbd} && !$cache_direct;
+
if (!$drive->{aio}) {
- if ($io_uring) {
+ if ($io_uring && !$rbd_no_io_uring) {
# io_uring supports all cache modes
$opts .= ",aio=io_uring";
} else {
--
2.30.2
next reply other threads:[~2021-06-30 15:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-30 15:18 Stefan Reiter [this message]
2021-07-01 7:41 ` [pve-devel] applied: " Thomas Lamprecht
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=20210630151817.1707616-1-s.reiter@proxmox.com \
--to=s.reiter@proxmox.com \
--cc=pve-devel@lists.proxmox.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox