search for: virtio_notify_config

Displaying 20 results from an estimated 32 matches for "virtio_notify_config".

2020 Apr 17
2
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...s? Sorry, the QEMU implementation is confusing. FREE_PAGE_REPORT_S_DONE is translated to VIRTIO_BALLOON_CMD_ID_DONE QEMU: hw/virtio/virtio-balloon.c:virtio_balloon_free_page_report_notify() -> virtio_balloon_free_page_done(dev) -> s->free_page_report_status = FREE_PAGE_REPORT_S_DONE; virtio_notify_config(vdev); When the guest reads the config hw/virtio/virtio-balloon.c:virtio_balloon_get_config() -> if (dev->free_page_report_status == FREE_PAGE_REPORT_S_DONE) -> config.free_page_report_cmd_id = ... VIRTIO_BALLOON_CMD_ID_DONE Linux: drivers/virtio/virtio_balloon.c:report_free_page_func(...
2009 Jun 18
0
[PATCHv5 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 18
0
[PATCHv5 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 10
0
[PATCHv4 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 10
0
[PATCHv4 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 21
0
[PATCHv6 07/12] qemu/virtio: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 21
0
[PATCHv6 07/12] qemu/virtio: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 May 25
0
[PATCH 09/11] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 02
0
[PATCHv2 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 05
0
[PATCHv3 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 May 25
0
[PATCH 09/11] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 02
0
[PATCHv2 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2009 Jun 05
0
[PATCHv3 09/13] qemu: virtio support for many interrupt vectors
..._size, void (*handle_output)(VirtIODevice *, VirtQueue *)) { @@ -537,7 +552,7 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vq->vector); } void virtio_notify_config(VirtIODevice *vdev) @@ -546,7 +561,7 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + virtio_notify_vector(vdev, vdev->config_vector); } void virtio_save(VirtIODevice *vdev, QEMUFile *f) @@ -555,6 +570,7 @@ void...
2020 Apr 17
0
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
...tion". Guest will stop hinting even without that once it scans all free memory. > QEMU: > > hw/virtio/virtio-balloon.c:virtio_balloon_free_page_report_notify() > -> virtio_balloon_free_page_done(dev) > -> s->free_page_report_status = FREE_PAGE_REPORT_S_DONE; > virtio_notify_config(vdev); > > When the guest reads the config > hw/virtio/virtio-balloon.c:virtio_balloon_get_config() > -> if (dev->free_page_report_status == FREE_PAGE_REPORT_S_DONE) > -> config.free_page_report_cmd_id = ... VIRTIO_BALLOON_CMD_ID_DONE > > > Linux: > > driv...
2020 Mar 12
0
[RFC for QEMU] virtio-balloon: Add option thp-order to set VIRTIO_BALLOON_F_THP_ORDER
...dev->num_pages = (vm_ram_size - target) >> VIRTIO_BALLOON_PFN_SHIFT; > + if (virtio_has_feature(dev->host_features, > + VIRTIO_BALLOON_F_THP_ORDER)) > + dev->num_pages >>= VIRTIO_BALLOON_THP_ORDER; > virtio_notify_config(vdev); > } > trace_virtio_balloon_to_target(target, dev->num_pages); > @@ -916,6 +933,8 @@ static Property virtio_balloon_properties[] = { > VIRTIO_BALLOON_F_DEFLATE_ON_OOM, false), > DEFINE_PROP_BIT("free-page-hint", VirtIOBalloon, ho...
2011 Nov 02
3
[PATCH RFC 0/2] virtio-pci: polling mode support
MSIX spec requires that device can be operated with all vectors masked, by polling. So the following patchset (lightly tested) adds this ability: when driver reads ISR, the device recalls a pending notification, and returns pending status in the ISR register. The polling driver can operate as follows: - map all VQs and config to the same vector - poll ISR to get status - this also flushes VQ
2011 Nov 02
3
[PATCH RFC 0/2] virtio-pci: polling mode support
MSIX spec requires that device can be operated with all vectors masked, by polling. So the following patchset (lightly tested) adds this ability: when driver reads ISR, the device recalls a pending notification, and returns pending status in the ISR register. The polling driver can operate as follows: - map all VQs and config to the same vector - poll ISR to get status - this also flushes VQ
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...43,10 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + if (msix_enabled(&vdev->pci_dev)) + msix_notify(&vdev->pci_dev, vq->vector); + else + virtio_update_irq(vdev); } void virtio_notify_config(VirtIODevice *vdev) @@ -684,7 +755,10 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + if (msix_enabled(&vdev->pci_dev)) + msix_notify(&vdev->pci_dev, vdev->config_vector); + else + vi...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...43,10 @@ void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) return; vdev->isr |= 0x01; - virtio_update_irq(vdev); + if (msix_enabled(&vdev->pci_dev)) + msix_notify(&vdev->pci_dev, vq->vector); + else + virtio_update_irq(vdev); } void virtio_notify_config(VirtIODevice *vdev) @@ -684,7 +755,10 @@ void virtio_notify_config(VirtIODevice *vdev) return; vdev->isr |= 0x03; - virtio_update_irq(vdev); + if (msix_enabled(&vdev->pci_dev)) + msix_notify(&vdev->pci_dev, vdev->config_vector); + else + vi...
2020 Apr 17
4
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
> What do you call "hinting ends" though? The fact we put > a page in the VQ is not a guarantee that it's been consumed > by the hypervisor. > I'd say hinting ends once the hypervisor sets FREE_PAGE_REPORT_S_DONE. > > I think a strict definition is this: > - hint includes a command ID > - hint implies "page was unused at some point after guest