[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.


Anthony Liguori

Xen-devel mailing list



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