search for: request_vqs

Displaying 14 results from an estimated 14 matches for "request_vqs".

2009 Apr 27
6
[PATCH RFC 0/8] virtio: add guest MSI-X support
Add optional MSI-X support: use a vector per virtqueue with fallback to a common vector and finally to regular interrupt. Teach all drivers to use it. I added 2 new virtio operations: request_vqs/free_vqs because MSI needs to know the total number of vectors upfront. Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- Here's a draft set of patches for MSI-X support in the guest. It still needs to be tested properly, and performance impact measured, but I thought I'd...
2009 Apr 27
6
[PATCH RFC 0/8] virtio: add guest MSI-X support
Add optional MSI-X support: use a vector per virtqueue with fallback to a common vector and finally to regular interrupt. Teach all drivers to use it. I added 2 new virtio operations: request_vqs/free_vqs because MSI needs to know the total number of vectors upfront. Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- Here's a draft set of patches for MSI-X support in the guest. It still needs to be tested properly, and performance impact measured, but I thought I'd...
2012 May 20
1
[PATCH] virtio: fix typo in comment
From: Chen Baozi <chenbaozi at gmail.com> - Delete "@request_vqs" and "@free_vqs" comments, since they are no longer in struct virtio_config_ops. - According to the macro below, "@val" should be "@v". Signed-off-by: Chen Baozi <chenbaozi at gmail.com> --- include/linux/virtio_config.h | 11 +---------- 1 files chang...
2012 May 20
1
[PATCH] virtio: fix typo in comment
From: Chen Baozi <chenbaozi at gmail.com> - Delete "@request_vqs" and "@free_vqs" comments, since they are no longer in struct virtio_config_ops. - According to the macro below, "@val" should be "@v". Signed-off-by: Chen Baozi <chenbaozi at gmail.com> --- include/linux/virtio_config.h | 11 +---------- 1 files chang...
2009 May 12
0
[PATCHv4] virtio: find_vqs/del_vqs virtio operations
...iff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index 9fae274..359140d 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -49,16 +49,26 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 May 12
0
[PATCHv4] virtio: find_vqs/del_vqs virtio operations
...iff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index 9fae274..359140d 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -49,16 +49,26 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 May 14
1
[PATCHv6 2/4] virtio: find_vqs/del_vqs virtio operations
...include/linux/virtio_config.h @@ -29,6 +29,7 @@ #define VIRTIO_F_NOTIFY_ON_EMPTY 24 #ifdef __KERNEL__ +#include <linux/err.h> #include <linux/virtio.h> /** @@ -49,16 +50,26 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 May 14
1
[PATCHv6 2/4] virtio: find_vqs/del_vqs virtio operations
...include/linux/virtio_config.h @@ -29,6 +29,7 @@ #define VIRTIO_F_NOTIFY_ON_EMPTY 24 #ifdef __KERNEL__ +#include <linux/err.h> #include <linux/virtio.h> /** @@ -49,16 +50,26 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 May 13
1
[PATCHv5 1/3] virtio: find_vqs/del_vqs virtio operations
...iff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index 9fae274..4938050 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -49,16 +49,26 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 May 13
1
[PATCHv5 1/3] virtio: find_vqs/del_vqs virtio operations
...iff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index 9fae274..4938050 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -49,16 +49,26 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 Apr 27
0
[PATCH 8/8] virtio_pci: optional MSI-X support
...) { + struct virtio_pci_device *vp_dev = to_vp_device(vdev); + int i; + + for (i = 0; i < vp_dev->msix_preset_vectors; ++i) + free_irq(vp_dev->msix_entries[i].vector, vp_dev); + + if (!vp_dev->msix_preset_vectors) + free_irq(vp_dev->pci_dev->irq, vp_dev); +} + +/* the config->request_vqs() implementation */ +static int vp_request_vqs(struct virtio_device *vdev, unsigned max_vqs) { + struct virtio_pci_device *vp_dev = to_vp_device(vdev); + const char *name = dev_name(&vp_dev->vdev.dev); + unsigned i, vectors; + int err = -ENOMEM; + + /* We need at most one vector per queue an...
2009 Apr 27
0
[PATCH 8/8] virtio_pci: optional MSI-X support
...) { + struct virtio_pci_device *vp_dev = to_vp_device(vdev); + int i; + + for (i = 0; i < vp_dev->msix_preset_vectors; ++i) + free_irq(vp_dev->msix_entries[i].vector, vp_dev); + + if (!vp_dev->msix_preset_vectors) + free_irq(vp_dev->pci_dev->irq, vp_dev); +} + +/* the config->request_vqs() implementation */ +static int vp_request_vqs(struct virtio_device *vdev, unsigned max_vqs) { + struct virtio_pci_device *vp_dev = to_vp_device(vdev); + const char *name = dev_name(&vp_dev->vdev.dev); + unsigned i, vectors; + int err = -ENOMEM; + + /* We need at most one vector per queue an...
2009 May 07
6
[PATCH 1/3] virtio: find_vqs/del_vqs virtio operations
...iff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index bf8ec28..ef8aec4 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -49,15 +49,25 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...
2009 May 07
6
[PATCH 1/3] virtio: find_vqs/del_vqs virtio operations
...iff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index bf8ec28..ef8aec4 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -49,15 +49,25 @@ * @set_status: write the status byte * vdev: the virtio_device * status: the new status byte + * @request_vqs: request the specified number of virtqueues + * vdev: the virtio_device + * max_vqs: the max number of virtqueues we want + * If supplied, must call before any virtqueues are instantiated. + * To modify the max number of virtqueues after request_vqs has been + * called, call free_vqs...