public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Daniel Gomez <da.gomez@kernel.org>
Cc: Klaus Jensen <its@irrelevant.dk>,
	kdevops@lists.linux.dev, Daniel Gomez <da.gomez@samsung.com>
Subject: Re: [PATCH] libvirt: update default extra storage drive
Date: Wed, 7 May 2025 11:50:15 -0700	[thread overview]
Message-ID: <aBurZ52P1mQHJuxW@bombadil.infradead.org> (raw)
In-Reply-To: <2nv36pylldtj74xyqp4mdodw4aek2r6l7uie25ecmli45o24wy@fs47gipere2j>

On Wed, May 07, 2025 at 12:19:26PM +0200, Daniel Gomez wrote:
> On Tue, May 06, 2025 at 01:23:42PM +0100, Luis Chamberlain wrote:
> > On Tue, May 06, 2025 at 11:18:28AM +0200, Daniel Gomez wrote:
> > > From: Daniel Gomez <da.gomez@samsung.com>
> > > 
> > > kdevops expects NVMe to be selected as stated in the config.
> > 
> > In which config?
> 
> It's part of the help here "We always expect to use...":
> 
> config LIBVIRT_EXTRA_STORAGE_DRIVE_NVME
> 	bool "NVMe"
> 	output yaml
> 	help
> 	  Use the QEMU NVMe driver for extra storage drives. We always expect
> 	  to use this as we expect *could* be outperforming the virtio driver.

Ah yeah that's outdated.

> > So, the history here was that through experience on a lot of testing
> > (specially the stable folks) they experienced *tons* of NVMe timeouts
> > as flaky failure tests. Part of this was root caused to the slow
> > performant qemu NVMe driver since it lacked using qemu IO threads, which
> > allows the device to perform I/O in its own thread rather than in the
> > main QEMU thread. Virtio already has support IO threads, so as soon as we
> > switched to virtio that fixed the issues.
> 
> config LIBVIRT_EXTRA_STORAGE_DRIVE_VIRTIO
> 	bool "virtio"
> 	output yaml
> 	help
> 	  Use the QEMU virtio driver for extra storage drives. Use this if you
> 	  are having issues with "NVMe timeouts" issues when testing in a loop
> 	  with fstests and cannot upgrade your QEMU version. If you select this
> 	  you won't be able to test ZNS.
> 
> I read the help the other way around as you have just described it. I think text
> needs an update then.

Indeed.

> > Yes, it would be good to make NVMe the default backend storage driver
> > but if default qemu release on distros don't yet have IO thread support
> > then it makes no sense to switch over, sadly.
> 
> I understand.
> 
> The problem was found when I run blktests with block and nvme profiles
> where an NVMe drive was expected in the vm. Would then a 'select
> LIBVIRT_EXTRA_SOTRAGE_DRIVE_NVME' work for blktests in this case?

So blktests can be used in two modes, one without specifying any
devices, and one with it. If you don't specify any device it uses
loopback frabics to create loopback nvme drives to then test nvme.

So I'd say testing against both would be good, but either works.

  Luis

      reply	other threads:[~2025-05-07 18:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-06  9:18 [PATCH] libvirt: update default extra storage drive Daniel Gomez
2025-05-06 20:23 ` Luis Chamberlain
2025-05-07 10:19   ` Daniel Gomez
2025-05-07 18:50     ` Luis Chamberlain [this message]

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=aBurZ52P1mQHJuxW@bombadil.infradead.org \
    --to=mcgrof@kernel.org \
    --cc=da.gomez@kernel.org \
    --cc=da.gomez@samsung.com \
    --cc=its@irrelevant.dk \
    --cc=kdevops@lists.linux.dev \
    /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