From: Paolo Bonzini <pbonzini@redhat.com>
To: Matthias Brugger <matthias.bgg@gmail.com>
Cc: "Kevin Wolf" <kwolf@redhat.com>,
"Liu Ping Fan" <pingfank@linux.vnet.ibm.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Alex Bligh" <alex@alex.org.uk>,
"Stefan Hajnoczi" <stefanha@gmail.com>,
"Jeff Cody" <jcody@redhat.com>,
"Michael Tokarev" <mjt@tls.msk.ru>,
qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
malc <av1474@comtv.ru>, "Anthony Liguori" <anthony@codemonkey.ws>,
"Stefan Weil" <sw@weilnetz.de>, "Asias He" <asias@redhat.com>,
"Luiz Capitulino" <lcapitulino@redhat.com>,
"Andreas Färber" <afaerber@suse.de>,
"Eduardo Habkost" <ehabkost@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 0/3] Make thread pool implementation modular
Date: Thu, 05 Dec 2013 10:40:12 +0100 [thread overview]
Message-ID: <52A049FC.8010603@redhat.com> (raw)
In-Reply-To: <CABuKBeKkjaq566+GRprAcM-E2geZWvpSUELa4Cn+Kdfc_5zuvA@mail.gmail.com>
Il 05/12/2013 09:40, Matthias Brugger ha scritto:
> CFQ the state of the art I/O scheduler
The deadline scheduler typically provides much better performance for
server usage (including hosting VMs). It doesn't support some features
such as I/O throttling via cgroups, but QEMU now has a very good
throttling mechanism implemented by Benoit Canet.
I suggest that you repeat your experiments using all six configurations:
- deadline scheduler with aio=native
- deadline scheduler with aio=threads
- deadline scheduler with aio=threads + your patches
- CFQ scheduler with aio=native
- CFQ scheduler with aio=threads
- CFQ scheduler with aio=threads + your patches
> In former versions, there was some work done to merge requests in
> Qemu, but I don't think they were very useful, because you don't know
> how the layout of the image file looks like on the physical disk.
> Anyway I think this code parts have been removed.
This is still there for writes, in bdrv_aio_multiwrite. Only
virtio-blk.c uses it, but it's there.
> The only layer where you really know how the blocks of the virtual
> disk image are distributed over the disk is the block layer of the
> host. So you have to do the block request merging there. With the new
> architecture this would come for free, as you can map every thread
> from a guest to one workerthread of Qemu.
This also assumes a relatively "dumb" guest. If the guest uses itself a
thread pool, you would have exactly the same problem, wouldn't you?
Paolo
next prev parent reply other threads:[~2013-12-05 9:40 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-04 10:28 [Qemu-devel] [PATCH v2 0/3] Make thread pool implementation modular Matthias Brugger
2013-11-04 10:28 ` [Qemu-devel] [PATCH v2 1/3] " Matthias Brugger
2013-11-11 12:28 ` Kevin Wolf
2013-11-04 10:28 ` [Qemu-devel] [PATCH v2 2/3] Block layer uses modular thread pool Matthias Brugger
2013-11-04 10:28 ` [Qemu-devel] [PATCH v2 3/3] Add workerthreads configuration option Matthias Brugger
2013-11-11 12:31 ` Kevin Wolf
2013-11-05 13:25 ` [Qemu-devel] [PATCH v2 0/3] Make thread pool implementation modular Stefan Hajnoczi
2013-11-11 10:00 ` Matthias Brugger
2013-11-11 12:43 ` Stefan Hajnoczi
2013-11-11 17:59 ` Alex Bligh
2013-11-11 18:01 ` Paolo Bonzini
2013-11-11 18:32 ` Alex Bligh
2013-11-11 18:44 ` Paolo Bonzini
2013-12-05 8:40 ` Matthias Brugger
2013-12-05 9:40 ` Paolo Bonzini [this message]
2013-12-05 10:22 ` Stefan Hajnoczi
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=52A049FC.8010603@redhat.com \
--to=pbonzini@redhat.com \
--cc=afaerber@suse.de \
--cc=alex@alex.org.uk \
--cc=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=asias@redhat.com \
--cc=av1474@comtv.ru \
--cc=ehabkost@redhat.com \
--cc=jcody@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=matthias.bgg@gmail.com \
--cc=mjt@tls.msk.ru \
--cc=pingfank@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
/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 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.