On Thu, Dec 16, 2010 at 9:50 AM, Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx> wrote: > 2010/12/16 Michael S. Tsirkin <mst@xxxxxxxxxx>: >> On Thu, Dec 16, 2010 at 04:37:41PM +0900, Yoshiaki Tamura wrote: >>> 2010/11/28 Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx>: >>> > 2010/11/28 Michael S. Tsirkin <mst@xxxxxxxxxx>: >>> >> On Thu, Nov 25, 2010 at 03:06:50PM +0900, Yoshiaki Tamura wrote: >>> >>> Record ioport event to replay it upon failover. >>> >>> >>> >>> Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx> >>> >> >>> >> Interesting. This will have to be extended to support ioeventfd. >>> >> Since each eventfd is really just a binary trigger >>> >> it should be enough to read out the fd state. >>> > >>> > Haven't thought about eventfd yet. Will try doing it in the next >>> > spin. >>> >>> Hi Michael, >>> >>> I looked into eventfd and realized it's only used with vhost now. >> >> There are patches on list to use it for block/userspace net. > > Thanks. Now I understand. > In that case, inserting an even-tap function to the following code > should be appropriate? > > int event_notifier_test_and_clear(EventNotifier *e) > { > uint64_t value; > int r = read(e->fd, &value, sizeof(value)); > return r == sizeof(value); > } > >> >>> However, I >>> believe vhost bypass the net layer in qemu, and there is no way for Kemari to >>> detect the outputs. To me, it doesn't make sense to extend this patch to >>> support eventfd... Here is the userspace ioeventfd patch series: http://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg49208.html Instead of switching to QEMU userspace to handle the virtqueue kick pio write, we signal the eventfd inside the kernel and resume guest code execution. The I/O thread can then process the virtqueue kick in parallel to guest code execution. I think this can still be tied into Kemari. If you are switching to a pure net/block-layer event tap instead of pio/mmio, then I think it should just work. For vhost it would be more difficult to integrate with Kemari. Stefan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html