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

RE: [Xen-devel] HVM domain with write caching going on somewhere to disk



Before I figured out that the problem I was having was nothing to do
with the buffer cache (I was returning an error to windows when it asked
me to flush my buffers, which upset it a bit), I also implemented
O_DIRECT by simply allocating another buffer (with the correct
alignment) in the raw_read and raw_write routines and copying the data
into there. Obviously it was horribly inefficient, but when the problem
I was having still occurred it told me that it must lie elsewhere.

I also tried using /dev/raw/rawX, which has similar restrictions to
O_DIRECT.

Another thing I discovered is that Windows 2003 (and probably others)
only makes two writes via the int13 routines, which I'm guessing is to
set a 'I am booting' flag, so that it can detect a failed boot on the
next startup. Once the windows driver is activated, obviously the int13
routines can no longer be used.

> Our current patch (against 3.1.2) uses fsync/fadvise to allow limited
> use of the buffer cache.  This improves I/O performance in QEMU (over
> O_DIRECT) while still maintaining device block coherence between PV
> driver/QEMU disk access.

That sounds like a good compromise.

Thanks

James

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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