[Top][All Lists]

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

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

From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 5/7] xen: add block device backend driver.
Date: Mon, 04 Aug 2008 12:46:14 -0500
User-agent: Thunderbird (X11/20080501)

Blue Swirl wrote:
On 8/4/08, Gerd Hoffmann <address@hidden> 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

reply via email to

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