From: Laurent Vivier <Laurent.Vivier@bull.net>
To: Kevin Wolf <kwolf@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT)
Date: Tue, 29 Apr 2008 18:48:39 +0200 [thread overview]
Message-ID: <1209487719.4248.43.camel@frecb07144> (raw)
In-Reply-To: <48174B0B.5070904@suse.de>
Le mardi 29 avril 2008 à 18:21 +0200, Kevin Wolf a écrit :
> Laurent Vivier schrieb:
> >> Disabling O_DIRECT for a single aio request is impossible (after all,
> >> aio is asynchronous), and disabling it for at least one aio request is
> >
> > Perhaps I'm wrong, but I think it is possible: the only consequence is
> > the asynchronous I/O becomes synchronous...
>
> Hm, yes. We could call raw_pread in raw_aio_read when O_DIRECT is used
> and the request is not properly aligned. Is this what you meant?
No, it was just a (stupid) comment. I think we must not convert
asynchronous I/O to synchronous I/O.
> >> going to be ugly. So maybe we better turn O_DIRECT off for snapsnot
> >> saving/loading, even if it's not the generic fix I wanted to have when I
> >> started.
> >
> > I don't think it is a good idea:
> >
> > In linux world, there are three reasons to use O_DIRECT:
> >
> > 1- to use linux AIO (not POSIX AIO).
> >
> > 2- to avoid a buffer copy between user- and kernel- space
> > (performance ?)
> >
> > 3- to increase reliability: by using O_DIRECT you are sure your data are
> > on the disk when the write is over and your system can now crash (if it
> > wants).
> >
> > And I think reliability is better when the snapshot is being saved...
>
> I think we agree that it's mostly item 3 why one would use O_DIRECT with
> qemu. In terms of reliability, it is important that the data really is
> written to the disk when the guest OS thinks so. But when for example
> qemu crashes, I don't think it's too important if 40% or 50% of a
> snapshot have already been written - it's unusable anyway. A sync
> afterwards could be enough there.
I don't speak about "qemu crashes" but about "host crashes".
>
> >> I'm still undecided, though. What do you think?
> >
> > Is it possible to align the last AIO ?
>
> I have to admit that I neither know how to recognize the "last AIO" in
> the generic code nor do I understand what you want to achieve with it.
> The main problem are unaligned buffers and these occur on any request.
I'm not in the spirit "my patch is better than yours" (and I don't think
so); but could you try to test my patch ? Because if I remember
correctly I think It manages all cases and this can help you to find a
solution (or perhaps you can add to your patch the part of my patch
about block-qcow2.c)
> > And see comments below
>
> Good suggestion, will change the patch accordingly.
>
> Kevin
>
Regards,
Laurent
--
------------- Laurent.Vivier@bull.net ---------------
"The best way to predict the future is to invent it."
- Alan Kay
next prev parent reply other threads:[~2008-04-29 16:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-17 13:31 [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT) Kevin Wolf
2008-04-28 15:34 ` Kevin Wolf
2008-04-29 9:01 ` Laurent Vivier
2008-04-29 14:49 ` Kevin Wolf
2008-04-29 15:48 ` Laurent Vivier
2008-04-29 16:21 ` Kevin Wolf
2008-04-29 16:48 ` Laurent Vivier [this message]
2008-04-30 9:21 ` Kevin Wolf
2008-04-30 9:59 ` Laurent Vivier
2008-04-30 12:08 ` Kevin Wolf
2008-04-30 14:30 ` Blue Swirl
2008-04-30 21:05 ` Kevin Wolf
2008-05-01 14:35 ` Blue Swirl
2008-05-01 17:55 ` Kevin Wolf
2008-05-06 8:44 ` Kevin Wolf
2008-05-06 9:02 ` Laurent Vivier
2008-05-06 16:42 ` Blue Swirl
2008-05-06 16:56 ` Kevin Wolf
2008-05-06 17:23 ` Blue Swirl
2008-04-30 0:05 ` Jamie Lokier
2008-04-30 0:02 ` Jamie Lokier
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=1209487719.4248.43.camel@frecb07144 \
--to=laurent.vivier@bull.net \
--cc=kwolf@suse.de \
--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).