Statistics
| Branch: | Revision:

root / hw / dataplane @ 53111180

Name Size
Makefile.objs 76 Bytes
hostmem.c 5.4 kB
hostmem.h 1.5 kB
ioq.c 2.8 kB
ioq.h 1.7 kB
virtio-blk.c 16.3 kB
virtio-blk.h 909 Bytes
vring.c 11.6 kB
vring.h 2 kB

Latest revisions

# Date Author Comment
2c20e711 03/04/2013 10:54 am Paolo Bonzini

dataplane: remove EventPoll in favor of AioContext

During the review of the dataplane code, the EventPoll API morphed itself
(not concidentially) into something very very similar to an AioContext.
Thus, it is trivial to convert virtio-blk-dataplane to use AioContext,...

cd7fdfe5 01/18/2013 05:57 pm Stefan Hajnoczi

dataplane: avoid reentrancy during virtio_blk_data_plane_stop()

When dataplane is stopping, the s->vdev->binding->set_host_notifier(...,
false) call can invoke the virtqueue handler if an ioeventfd
notification is pending. This causes hw/virtio-blk.c to invoke...

b8bec49c 01/14/2013 09:36 pm Michael Roth

dataplane: fix build breakage on set_guest_notifiers()

virtio_pci_set_guest_notifiers() now takes an additional argument to
specify the number of virtqueues to assign a guest notifier for. This
causes a build breakage for CONFIG_VIRTIO_BLK_DATA_PLANE builds:...

b5ef1aab 01/14/2013 11:06 am Stefan Hajnoczi

dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()

Extract code for read/write command processing into do_rdwr_cmd(). This
brings together pieces that are spread across process_request().

The real motivation is to set the stage for handling misaligned...

de0161c0 01/14/2013 11:06 am Stefan Hajnoczi

dataplane: handle misaligned virtio-blk requests

O_DIRECT on Linux has alignment requirements on I/O buffers and
misaligned requests result in -EINVAL. The Linux virtio_blk guest
driver usually submits aligned requests so I forgot to handle misaligned
requests....

ef4929fb 01/03/2013 03:13 pm Stefan Hajnoczi

dataplane: use linux-headers/ for virtio includes

The hw/dataplane/vring.c code includes linux/virtio_ring.h. Ensure that
we use linux-headers/ instead of the system-wide headers, which may be
out-of-date on older distros.

This resolves the following build error on Debian 6:...

e72f66a0 01/02/2013 05:08 pm Stefan Hajnoczi

dataplane: add virtio-blk data plane code

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

3e9ec521 01/02/2013 04:58 pm Stefan Hajnoczi

dataplane: add Linux AIO request queue

The IOQueue has a pool of iocb structs and a function to add new
read/write requests. Multiple requests can be added before calling the
submit function to actually tell the host kernel to begin I/O. This
allows callers to batch requests and submit them in one go....

71973b04 01/02/2013 04:56 pm Stefan Hajnoczi

dataplane: add event loop

Outside the safety of the global mutex we need to poll on file
descriptors. I found epoll(2) is a convenient way to do that, although
other options could replace this module in the future (such as an
AioContext-based loop or glib's GMainLoop)....

88807f89 01/02/2013 04:55 pm Stefan Hajnoczi

dataplane: add virtqueue vring code

The virtio-blk-data-plane cannot access memory using the usual QEMU
functions since it executes outside the global mutex and the memory APIs
are this time are not thread-safe.

This patch introduces a virtqueue module based on the kernel's vhost...

View revisions

Also available in: Atom