From: Stefan Hajnoczi <stefanha@gmail.com>
To: "Richard W.M. Jones" <rjones@redhat.com>
Cc: libguestfs@redhat.com, Peter Lieven <pl@kamp.de>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Effect of qemu-img convert -m and -W options
Date: Thu, 16 Nov 2017 17:30:48 +0000 [thread overview]
Message-ID: <CAJSP0QWop2Xvjp5bObJ0yRoJ=W-6cH84fGHXj5b93Qb6TxCxDA@mail.gmail.com> (raw)
In-Reply-To: <20171116151031.GV2787@redhat.com>
On Thu, Nov 16, 2017 at 3:10 PM, Richard W.M. Jones <rjones@redhat.com> wrote:
> On Thu, Nov 16, 2017 at 02:47:46PM +0000, Stefan Hajnoczi wrote:
>> The threads you observed are the thread pool that performs
>> preadv(2)/pwritev(2) syscalls. The Linux AIO API could be used instead
>> and does not use threads for read and write operations.
>
> I guess if I used AIO then I wouldn't get any parallelism at all since
> Linux doesn't block on local file access (at least, it never used to)?
Even assuming there is enough free page cache, file systems can
definitely block for metadata updates (e.g. space allocation as a file
grows). I don't think it's possible to assume that pwritev(2) doesn't
block.
>> Are the source and target files on the same file system and host block
>> device? The benefit of using multiple coroutines depends on the
>> performance characteristics of the source and target files.
>
> Both local filesystems, but on different SATA devices.
Okay. I'm curious what the strace -f output looks like (only the
preadv(2)/pwritev(2) syscalls are interesting at the moment).
Stefan
next prev parent reply other threads:[~2017-11-16 17:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-15 11:52 [Qemu-devel] Effect of qemu-img convert -m and -W options Richard W.M. Jones
2017-11-16 14:47 ` Stefan Hajnoczi
2017-11-16 14:51 ` Peter Lieven
2017-11-16 15:12 ` Richard W.M. Jones
2017-11-16 17:20 ` Stefan Hajnoczi
2017-11-16 15:10 ` Richard W.M. Jones
2017-11-16 17:30 ` Stefan Hajnoczi [this message]
2017-11-16 18:00 ` Richard W.M. Jones
2017-11-20 15:57 ` 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='CAJSP0QWop2Xvjp5bObJ0yRoJ=W-6cH84fGHXj5b93Qb6TxCxDA@mail.gmail.com' \
--to=stefanha@gmail.com \
--cc=libguestfs@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-devel@nongnu.org \
--cc=rjones@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).