qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] Fwd: From virtio_kick until VM-exit?


From: Charls D. Chap
Subject: [Qemu-discuss] Fwd: From virtio_kick until VM-exit?
Date: Sat, 30 Jul 2016 16:38:27 +0300

Hello List,

I have these 3 different call graphs, they are somehow connected in
the Virtio-blk I/O path. Any help??

"->" means "invokes"

virtio_blk_device_realize -> virtio_blk_complete_request ->
virtqueue_push, virtqueue_notify, virtio_notify_vector -> pci_set_irq ->
pci_irq_handler -> pci_change_irq_level


chain 2)
virtio_blk_device_realize -> virtio_blk_handle_output ->
virtio_blk_submit_multireq -> submit_requests _>
blk_aio_writev -> virtio_blk_rw_complete -> virtio_blk_req_complete ->
complete_request_vring -> qemu_bh_schedule -> aio_notify ->
event_notifier_set(EventNotifier *e)
 do {
        ret = write(e->wfd, &value, sizeof(value));
    } w


chain 3)
virtio_pci_config_write -> virtio_ioport_write -> virtio_queue_notify ->
virtio_queue_notify_vq ->

VIRTIO_PCI_QUEUE_NOTIFY:
/**
 * Notify hypervisor about queue update
 */
void virtio_queue_notify(struct virtio_device *dev, int queue)
{
if (dev->type == VIRTIO_TYPE_PCI) {
ci_write_16(dev->base+VIRTIOHDR_QUEUE_NOTIFY, cpu_to_le16(queue));
}
}

Thanks in advance



reply via email to

[Prev in Thread] Current Thread [Next in Thread]