From: Ming Lei <ming.lei@redhat.com>
To: Keith Busch <kbusch@kernel.org>
Cc: Li Feng <fengli@smartx.com>, Jens Axboe <axboe@kernel.dk>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
"open list:BLOCK LAYER" <linux-block@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
"open list:VIRTIO BLOCK AND SCSI DRIVERS"
<virtualization@lists.linux.dev>
Subject: Re: [PATCH] virtio_blk: set the default scheduler to none
Date: Fri, 8 Dec 2023 11:54:03 +0800 [thread overview]
Message-ID: <ZXKTW7z3UH1kPvod@fedora> (raw)
In-Reply-To: <ZXKDFdzXN4xQAuBm@kbusch-mbp>
On Thu, Dec 07, 2023 at 07:44:37PM -0700, Keith Busch wrote:
> On Fri, Dec 08, 2023 at 10:00:36AM +0800, Ming Lei wrote:
> > On Thu, Dec 07, 2023 at 12:31:05PM +0800, Li Feng wrote:
> > > virtio-blk is generally used in cloud computing scenarios, where the
> > > performance of virtual disks is very important. The mq-deadline scheduler
> > > has a big performance drop compared to none with single queue. In my tests,
> > > mq-deadline 4k readread iops were 270k compared to 450k for none. So here
> > > the default scheduler of virtio-blk is set to "none".
> >
> > The test result shows you may not test HDD. backing of virtio-blk.
> >
> > none can lose IO merge capability more or less, so probably sequential IO perf
> > drops in case of HDD backing.
>
> More of a curiosity, as I don't immediately even have an HDD to test
> with! Isn't it more useful for the host providing the backing HDD use an
> appropriate IO scheduler? virtio-blk has similiarities with a stacking
> block driver, and we usually don't need to stack IO schedulers.
dm-rq actually uses IO scheduler at high layer, and early merge has some
benefits:
1) virtio-blk inflight requests are reduced, so less chance to throttle
inside VM, meantime less IOs(bigger size) are handled by QEMU, and submitted
to host side queue.
2) early merge in VM is cheap than host side, since there can be more block
IOs originated from different virtio-blk/scsi devices at the same time and
all images can be stored in single disk, then these IOs become interleaved in
host side queue, so sequential IO may become random or hard to merge.
As Jens mentioned, it needs actual test.
Thanks,
Ming
next prev parent reply other threads:[~2023-12-08 3:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-07 4:31 [PATCH] virtio_blk: set the default scheduler to none Li Feng
2023-12-07 6:02 ` Jason Wang
2023-12-07 6:32 ` Li Feng
2023-12-07 6:38 ` Michael S. Tsirkin
2023-12-07 6:53 ` Chaitanya Kulkarni
2023-12-07 7:21 ` Li Feng
2023-12-07 9:48 ` Chaitanya Kulkarni
2023-12-07 14:51 ` Stefan Hajnoczi
2023-12-07 14:55 ` Paolo Bonzini
2023-12-07 15:19 ` Christoph Hellwig
2023-12-08 2:00 ` Ming Lei
2023-12-08 2:44 ` Keith Busch
2023-12-08 3:15 ` Jens Axboe
2023-12-08 3:54 ` Ming Lei [this message]
2023-12-08 5:55 ` Li Feng
2023-12-08 11:07 ` Paolo Bonzini
2023-12-25 14:20 ` Michael S. Tsirkin
2023-12-26 9:01 ` Li Feng
2023-12-26 9:05 ` Michael S. Tsirkin
2023-12-26 12:14 ` Li Feng
2023-12-26 15:38 ` Michael S. Tsirkin
2023-12-27 7:26 ` Li Feng
2023-12-27 10:06 ` Michael S. Tsirkin
2023-12-28 7:25 ` Li Feng
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=ZXKTW7z3UH1kPvod@fedora \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=fengli@smartx.com \
--cc=jasowang@redhat.com \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=stefanha@redhat.com \
--cc=virtualization@lists.linux.dev \
--cc=xuanzhuo@linux.alibaba.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