|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm |
Date: | Mon, 24 May 2010 14:19:34 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0 |
On 05/24/2010 06:03 AM, Avi Kivity wrote:
On 05/24/2010 11:27 AM, Stefan Hajnoczi wrote:On Sun, May 23, 2010 at 1:01 PM, Avi Kivity<address@hidden> wrote:On 05/21/2010 12:29 AM, Anthony Liguori wrote:I'd be more interested in enabling people to build these types of storagesystems without touching qemu.Both sheepdog and ceph ultimately transmit I/O over a socket to a centraldaemon, right?That incurs an extra copy.Besides a shared memory approach, I wonder if the splice() family of syscalls could be used to send/receive data through a storage daemon without the daemon looking at or copying the data?Excellent idea.
splice() eventually requires a copy. You cannot splice() to linux-aio so you'd have to splice() to a temporary buffer and then call into linux-aio. With shared memory, you can avoid ever bringing the data into memory via O_DIRECT and linux-aio.
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |