[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Shouldn't backend devices for VMX domain disks be opened with O_DIRECT?


On Thu, 2006-02-02 at 20:50 -0600, Anthony Liguori wrote:

> Yup, the question here is with the device model which doesn't use the 
> block frontend/backend.  Would O_DIRECT be helpful over O_SYNC?

There are really two separate parts to that.

First is whether write-through caching is helpful.  My own gut reaction
is not --- it implies an extra copy in the dom0, which is both a CPU
overhead to make the copy and a memory overhead to preserve it.  It does
mean that subsequent reads will be faster, but it should be up to the
domU to decide whether that is useful or not, not the dom0 --- a domU
running a database using O_DIRECT **really** doesn't want dom0 doings
any extra caching on its writes.

Second is whether O_DIRECT fits the IO model.  O_DIRECT has a lot of
extra constraints on the sort of IO you can do --- it has to be
sector-aligned in memory, in size and on disk, for example.  That will
probably fit neatly into the environment that a block device backend is
running in, but something doing filesystem-level IO forwarding won't
always have the same alignment guarantees.  (The page cache gives us the
right alignment in a lot of cases, though.)


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.