From: Fam Zheng <famz@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>, Peter Lieven <pl@kamp.de>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] qemu-img convert cache mode for source
Date: Thu, 27 Feb 2014 09:10:31 +0800 [thread overview]
Message-ID: <20140227011031.GC1050@T430> (raw)
In-Reply-To: <20140226154154.GB20820@stefanha-thinkpad.muc.redhat.com>
On Wed, 02/26 16:41, Stefan Hajnoczi wrote:
> On Wed, Feb 26, 2014 at 11:14:04AM +0100, Peter Lieven wrote:
> > I was wondering if it would be a good idea to set the O_DIRECT mode for the source
> > files of a qemu-img convert process if the source is a host_device?
> >
> > Currently the backup of a host device is polluting the page cache.
Peter, can you give some more detailed explanation of the issue? An example or
benchmark will help a lot. As I understand, one time scanning of a file doesn't
promote the page cache to active list, so it probably won't hurt real hot cache
at all, and will get replaced very soon.
Considering readahead and page cache on metadata, I'm not sure if forcing
O_DIRECT is a good idea.
> The problem is what to do for image formats. An image file can be
> very fragmented so the readahead might not be a win. Does this mean
> that for image formats we should tell the kernel access will be
> random?
>
> Furthermore, maybe it's best to do readahead inside QEMU so that even
> network protocols (nbd, iscsi, etc) can get good performance. They
> act like O_DIRECT is always on.
Also, experience with booting a network backed guest can be greatly improved,
because sometimes BIOS and bootloader are simple minded and load a kernel or
initrd by sending thousands of 1 sector requests with iodepth=1, which means
latency of network based IO hurts a lot.
Doing readahead in QEMU makes sense for image formats as well, because we know
where the next data cluster is better than kernel. But again, we are
replicating things from kernel.
next prev parent reply other threads:[~2014-02-27 1:10 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-26 10:14 [Qemu-devel] qemu-img convert cache mode for source Peter Lieven
2014-02-26 15:41 ` Stefan Hajnoczi
2014-02-26 15:54 ` Eric Blake
2014-02-26 16:01 ` Peter Lieven
2014-02-27 8:57 ` Stefan Hajnoczi
2014-02-28 14:35 ` Peter Lieven
2014-03-03 10:38 ` Kevin Wolf
2014-03-03 11:20 ` Peter Lieven
2014-03-03 12:59 ` Paolo Bonzini
2014-03-03 13:07 ` Peter Lieven
2014-03-03 12:03 ` Stefan Hajnoczi
2014-03-03 12:20 ` Peter Lieven
2014-03-04 9:24 ` Stefan Hajnoczi
2014-03-05 14:44 ` Peter Lieven
2014-03-05 15:20 ` Marcus
2014-03-05 15:53 ` Peter Lieven
2014-03-05 17:38 ` Marcus
2014-03-05 18:09 ` Peter Lieven
2014-03-06 10:41 ` Stefan Hajnoczi
2014-03-06 18:58 ` Peter Lieven
2014-03-06 10:29 ` Stefan Hajnoczi
2014-03-06 11:29 ` Paolo Bonzini
2014-03-06 14:19 ` Liguori, Anthony
2014-03-06 18:07 ` Peter Lieven
2014-03-07 8:03 ` Peter Lieven
2014-02-27 1:10 ` Fam Zheng [this message]
2014-02-27 11:07 ` Kevin Wolf
2014-02-27 16:12 ` Peter Lieven
2014-03-03 10:40 ` 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=20140227011031.GC1050@T430 \
--to=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.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;
as well as URLs for NNTP newsgroup(s).