[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] question about qemu IO process
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] question about qemu IO process |
Date: |
Thu, 15 Dec 2016 09:52:34 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Thu, Dec 15, 2016 at 02:50:41PM +0800, address@hidden wrote:
> I recently try to figure out the the whole IO process in qemu, I have traced
> most parts of this process, but I'm still confused about how guest OS notify
> qemu to handle virtqueue
> I traced to virtio_queue_host_notifier_read -> event_notifier_test_and_clear,
> and qemu will read e->rfd, so I assumed that some part of code will write to
> this descriptor, to notify qemu
> Unfortunatelly, I have set some breakpoints but noting catched yet.
> Could someone point it out for me which code write to this descriptor? Or
> show me the web link about this design?
"The KVM kernel module has a feature known as ioeventfd for taking an
eventfd and hooking it up to a particular guest I/O exit. QEMU userspace
registers an ioeventfd for the VIRTIO_PCI_QUEUE_NOTIFY hardware register
access which kicks the virtqueue."
From http://blog.vmsplice.net/2011/09/qemu-internals-vhost-architecture.html
(careful the rest of the post is about vhost, not QEMU)
http://blog.allenx.org/2015/07/05/kvm-irqfd-and-ioeventfd
signature.asc
Description: PGP signature