qemu-devel
[Top][All Lists]
Advanced

[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: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH] Align file accesses with cache=off (O_DIRECT)
Date: Tue, 6 May 2008 19:42:09 +0300

On 5/6/08, Kevin Wolf <address@hidden> wrote:
> Kevin Wolf schrieb:
>
>
> > Am Donnerstag, 1. Mai 2008 16:35:51 schrieb Blue Swirl:
> >
> > > On 5/1/08, Kevin Wolf <address@hidden> wrote:
> > >
> > > > Am Mittwoch, 30. April 2008 16:30:27 schrieb Blue Swirl:
> > > >
> > > > > Maybe the alignment could be handled like AIO and synchronous IO
> > > > >
> > > > >
> > > >  > emulation layers are added in bdrv_register, but at open stage?
> > > >
> > > > You mean to preserve the original pread if the file is opened without
> > > > O_DIRECT and replace it by the emulation function only if O_DIRECT is
> > > > really used?
> > > >
> > > Right.
> > >
> > > Maybe it's slightly faster that way and it would be closer to how
> > > other block emulations are handled. It's just an idea.
> > >
> >
> > Maybe I'm missing something but AFAIK this pread pointer exists once for
> each block driver, i.e. every raw image uses the original pread or every raw
> image uses the emulating one. The difference between the O_DIRECT case and
> the AIO/sync emulation is that AIO/sync is the same for all devices of one
> driver while O_DIRECT can differ between images of the same driver.
> >
> > So you would need to have one common pread which in turn calls a function
> pointer stored in the BlockDriverState. I doubt that this is much cheaper
> than an if in pread. And it wouldn't get too close to other emulations
> anyway because of the driver/device difference.
> >
>
>  Should I change the patch now (even if I think it doesn't help anything) or
> will you apply the patch as it is? It is quite frustrating to get no answer
> at all.

Well, the patch looks OK. But I try to test the patches before I
commit and for this I don't know how. Could you give some example test
cases?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]