[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT)
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT) |
Date: |
Tue, 29 Apr 2008 18:48:39 +0200 |
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
--
------------- address@hidden ---------------
"The best way to predict the future is to invent it."
- Alan Kay
- [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/17
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/28
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Laurent Vivier, 2008/04/29
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/29
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Laurent Vivier, 2008/04/29
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/29
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT),
Laurent Vivier <=
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/30
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Laurent Vivier, 2008/04/30
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/30
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Blue Swirl, 2008/04/30
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Kevin Wolf, 2008/04/30
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Jamie Lokier, 2008/04/29
- Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT), Jamie Lokier, 2008/04/29