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

[Xen-devel] Re: [Qemu-devel] [PATCH 5/7] xen: add block device backend driver.



Blue Swirl wrote:
On 8/4/08, Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote:
 +/* i386 protocol version */
 +#pragma pack(push, 4)
What's wrong with __attribute__(__aligned__)?

 + *  FIXME: the code is designed to handle multiple outstanding
 + *  requests (using aio or using threads), which isn't used right
 + *  now due to limitations of the qemu block driver interface.
Yes, what happened to vectored DMA patches?
Believe it or not, they were hurting performance in KVM.  Passing a 
vector to the block layer will force the IO operation to be split up 
into multiple requests that are all executed in serial (since QEMU only 
supports 1 outstanding request at a time).  Copying the vectored IO to a 
linear buffer increased performance significantly because it avoided 
this serialization.
The block layer needs some refactoring to support proper vectored AIO 
operations before a zero-copy API will make sense from a performance 
perspective.
Regards,

Anthony Liguori


_______________________________________________
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®.