Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-10 Thread Stefan Hajnoczi
On Fri, Dec 07, 2012 at 07:04:39PM +0100, Kevin Wolf wrote: Am 05.12.2012 21:47, schrieb Stefan Hajnoczi: virtio-blk-data-plane is a subset implementation of virtio-blk. It only handles read, write, and flush requests. It does this using a dedicated thread that executes an epoll(2)-based

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-07 Thread Paolo Bonzini
Il 07/12/2012 07:06, Stefan Hajnoczi ha scritto: BTW I should go into slightly more detail about why I stopped short of implementing the notify+join approach. notify+join means stopping the event loop and data plane thread so that the caller is sure that virtio-blk-data-plane is quiesced.

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-07 Thread Kevin Wolf
Am 05.12.2012 21:47, schrieb Stefan Hajnoczi: virtio-blk-data-plane is a subset implementation of virtio-blk. It only handles read, write, and flush requests. It does this using a dedicated thread that executes an epoll(2)-based event loop and processes I/O using Linux AIO. This approach

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-06 Thread Michael S. Tsirkin
On Wed, Dec 05, 2012 at 09:47:09PM +0100, Stefan Hajnoczi wrote: virtio-blk-data-plane is a subset implementation of virtio-blk. I already asked this: what confuses me a bit is how, being a subset, it exposes the same feature bits. For example wce config is ineffective, right? So I think it

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-06 Thread Stefan Hajnoczi
On Thu, Dec 06, 2012 at 01:33:58PM +0200, Michael S. Tsirkin wrote: On Wed, Dec 05, 2012 at 09:47:09PM +0100, Stefan Hajnoczi wrote: virtio-blk-data-plane is a subset implementation of virtio-blk. I already asked this: what confuses me a bit is how, being a subset, it exposes the same

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-06 Thread Stefan Hajnoczi
On Thu, Dec 06, 2012 at 08:35:55AM +0100, Paolo Bonzini wrote: Il 05/12/2012 21:47, Stefan Hajnoczi ha scritto: + +/* Block until pending requests have completed + * + * The vring continues to be serviced so ensure no new requests will be added + * to avoid races. + */ +void

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-06 Thread Stefan Hajnoczi
On Thu, Dec 06, 2012 at 08:35:55AM +0100, Paolo Bonzini wrote: Il 05/12/2012 21:47, Stefan Hajnoczi ha scritto: + +/* Block until pending requests have completed + * + * The vring continues to be serviced so ensure no new requests will be added + * to avoid races. + */ +void

[Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-05 Thread Stefan Hajnoczi
virtio-blk-data-plane is a subset implementation of virtio-blk. It only handles read, write, and flush requests. It does this using a dedicated thread that executes an epoll(2)-based event loop and processes I/O using Linux AIO. This approach performs very well but can be used for raw image

Re: [Qemu-devel] [PATCH v5 10/11] dataplane: add virtio-blk data plane code

2012-12-05 Thread Paolo Bonzini
Il 05/12/2012 21:47, Stefan Hajnoczi ha scritto: + +/* Block until pending requests have completed + * + * The vring continues to be serviced so ensure no new requests will be added + * to avoid races. + */ +void virtio_blk_data_plane_drain(VirtIOBlockDataPlane *s) +{ +