From: Kevin Wolf <kwolf@redhat.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>,
Christoph Hellwig <hch@lst.de>
Subject: Re: [Qemu-devel] [PATCH] block-raw: Make cache=off default again
Date: Thu, 25 Jun 2009 09:31:44 +0200 [thread overview]
Message-ID: <4A4327E0.2020509@redhat.com> (raw)
In-Reply-To: <20090624212330.GC14121@shareable.org>
Jamie Lokier schrieb:
> Kevin Wolf wrote:
>> Jamie Lokier schrieb:
>>> Kevin Wolf wrote:
>>>> What happens with virtio I still need to understand. Obviously, as soon
>>>> as virtio decides to fall back to 4k requests, performance becomes
>>>> terrible.
>>> Does emulating a disk with 4k sector size instead of 512 bytes help this?
>> I just changed the virtio_blk code to always do the
>> blk_queue_hardsect_size with 4096, didn't change the behaviour.
>
> You need quite a bit more than that to emulate a 4k sector size disk.
> There's the ATA/SCSI ID pages to update, and the special 512-bit
> offset tricky thing.
Okay, then I'll just admit that I know too little about the Linux block
layer. I'll gladly try any patch (and hopefully understand it then), but
for doing it myself I think it would take me a lot of time experimenting
and still not knowing if I'm doing it right.
>> I'm not sure if I have mentioned it in this thread: We have found that
>> it helps to use the deadline elevator instead of cfq in either the host
>> or the guest. I would accept this if it would only help when it's
>> changed in the guest (after all, I don't know the Linux block layer very
>> well), but I certainly don't understand how the host elevator could
>> change the guest request sizes - and noone else on the internal mailing
>> lists had an explanation either.
>
> The host elevator will certainly affect the timing of I/O requests,
> which it receives from the guest, and it will also affect how requests
> are merged to make larger requests.
>
> So it's not surprising that the host elevator changes the sizes of
> request sizes when they reach the host disk.
>
> It shouldn't change the size of requests inside the guest, _before_
> they reach the host.
Yeah, this is exactly what I was thinking, too. However, in reality it
_does_ influence the guest request sizes, for whatever reason (maybe
again something timing related?). I put debug code into both the qemu
virtio-blk implementation and the guest kernel module and they both see
lots of 4k requests when the host uses cfg and much larger requests when
it uses deadline.
Kevin
next prev parent reply other threads:[~2009-06-25 7:33 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-22 11:18 [Qemu-devel] [PATCH] block-raw: Make cache=off default again Kevin Wolf
2009-06-22 11:35 ` Christoph Hellwig
2009-06-22 11:44 ` Kevin Wolf
2009-06-22 11:55 ` Avi Kivity
2009-06-22 12:32 ` Kevin Wolf
2009-06-22 12:39 ` Avi Kivity
2009-06-22 12:50 ` Kevin Wolf
2009-06-23 10:30 ` Jamie Lokier
2009-06-23 11:46 ` Kevin Wolf
2009-06-24 21:23 ` Jamie Lokier
2009-06-25 7:31 ` Kevin Wolf [this message]
2009-06-22 13:04 ` Christoph Hellwig
2009-06-22 13:05 ` Kevin Wolf
2009-06-22 13:14 ` Avi Kivity
2009-06-22 13:08 ` Anthony Liguori
2009-06-22 13:20 ` Kevin Wolf
2009-06-22 14:00 ` Anthony Liguori
2009-06-22 13:23 ` Dor Laor
2009-06-22 13:29 ` Kevin Wolf
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=4A4327E0.2020509@redhat.com \
--to=kwolf@redhat.com \
--cc=avi@redhat.com \
--cc=hch@lst.de \
--cc=jamie@shareable.org \
--cc=qemu-devel@nongnu.org \
/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;
as well as URLs for NNTP newsgroup(s).