search for: out_remove_vqs

Displaying 18 results from an estimated 18 matches for "out_remove_vqs".

2017 Jan 27
0
[PATCH 2/9] virtio_pci: use shared interrupts for virtqueues
...if (callbacks[i]) + msix_vec = allocated_vectors; else - msix_vec = VP_MSIX_VQ_VECTOR; + msix_vec = VIRTIO_MSI_NO_VECTOR; + vqs[i] = vp_dev->setup_vq(vp_dev, i, callbacks[i], names[i], msix_vec); if (IS_ERR(vqs[i])) { err = PTR_ERR(vqs[i]); - goto error_find; + goto out_remove_vqs; } - if (!per_vq_vectors) - continue; - if (msix_vec == VIRTIO_MSI_NO_VECTOR) { vp_dev->msix_vector_map[i] = VIRTIO_MSI_NO_VECTOR; continue; } - /* allocate per-vq irq if available and necessary */ - snprintf(vp_dev->msix_names[msix_vec], - sizeof *vp_dev->msix...
2017 Feb 05
0
[PATCH 2/9] virtio_pci: use shared interrupts for virtqueues
...if (callbacks[i]) + msix_vec = allocated_vectors; else - msix_vec = VP_MSIX_VQ_VECTOR; + msix_vec = VIRTIO_MSI_NO_VECTOR; + vqs[i] = vp_dev->setup_vq(vp_dev, i, callbacks[i], names[i], msix_vec); if (IS_ERR(vqs[i])) { err = PTR_ERR(vqs[i]); - goto error_find; + goto out_remove_vqs; } - if (!per_vq_vectors) - continue; - if (msix_vec == VIRTIO_MSI_NO_VECTOR) { vp_dev->msix_vector_map[i] = VIRTIO_MSI_NO_VECTOR; continue; } - /* allocate per-vq irq if available and necessary */ - snprintf(vp_dev->msix_names[msix_vec], - sizeof *vp_dev->msix...
2017 Mar 23
2
[REGRESSION] 07ec51480b5e ("virtio_pci: use shared interrupts for virtqueues") causes crashes in guest
...dev, msix_vec), > vring_interrupt, IRQF_SHARED, > - vp_dev->msix_names[i + 1], vqs[i]); > + vp_dev->msix_names[j], vqs[i]); > if (err) { > /* don't free this irq on error */ > vp_dev->msix_vector_map[i] = VIRTIO_MSI_NO_VECTOR; > goto out_remove_vqs; > } > vp_dev->msix_vector_map[i] = msix_vec; > + j++; > > /* > * Use a different vector for each queue if they are available, > -- > 2.7.4 > -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and v...
2017 Mar 23
2
[REGRESSION] 07ec51480b5e ("virtio_pci: use shared interrupts for virtqueues") causes crashes in guest
...dev, msix_vec), > vring_interrupt, IRQF_SHARED, > - vp_dev->msix_names[i + 1], vqs[i]); > + vp_dev->msix_names[j], vqs[i]); > if (err) { > /* don't free this irq on error */ > vp_dev->msix_vector_map[i] = VIRTIO_MSI_NO_VECTOR; > goto out_remove_vqs; > } > vp_dev->msix_vector_map[i] = msix_vec; > + j++; > > /* > * Use a different vector for each queue if they are available, > -- > 2.7.4 > -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and v...
2017 Feb 05
13
automatic IRQ affinity for virtio V3
Hi Michael, hi Jason, This patches applies a few cleanups to the virtio PCI interrupt handling code, and then converts the virtio PCI code to use the automatic MSI-X vectors spreading, as well as using the information in virtio-blk and virtio-scsi to automatically align the blk-mq queues to the MSI-X vectors. Changes since V2: - remove a redundant callback check - calculate ->msix_vectors
2017 Feb 05
13
automatic IRQ affinity for virtio V3
Hi Michael, hi Jason, This patches applies a few cleanups to the virtio PCI interrupt handling code, and then converts the virtio PCI code to use the automatic MSI-X vectors spreading, as well as using the information in virtio-blk and virtio-scsi to automatically align the blk-mq queues to the MSI-X vectors. Changes since V2: - remove a redundant callback check - calculate ->msix_vectors
2017 Mar 23
0
[REGRESSION] 07ec51480b5e ("virtio_pci: use shared interrupts for virtqueues") causes crashes in guest
...ing_interrupt, IRQF_SHARED, > > - vp_dev->msix_names[i + 1], vqs[i]); > > + vp_dev->msix_names[j], vqs[i]); > > if (err) { > > /* don't free this irq on error */ > > vp_dev->msix_vector_map[i] = VIRTIO_MSI_NO_VECTOR; > > goto out_remove_vqs; > > } > > vp_dev->msix_vector_map[i] = msix_vec; > > + j++; > > > > /* > > * Use a different vector for each queue if they are available, > > -- > > 2.7.4 > > > > > -- > Richard Jones, Virtualization Group, R...
2017 Apr 03
0
[PATCH] virtio_pci: request irq error handling
...ertion(+) diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c index 2a353ab..2b1ea9b 100644 --- a/drivers/virtio/virtio_pci_common.c +++ b/drivers/virtio/virtio_pci_common.c @@ -266,6 +266,7 @@ static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, out_remove_vqs: vp_remove_vqs(vdev); kfree(vp_dev->msix_vector_map); + vp_dev->msix_vector_map = NULL; out_disable_config_irq: vp_dev->config_vector(vp_dev, VIRTIO_MSI_NO_VECTOR); out_free_config_irq: -- MST
2017 Apr 03
0
[PATCH] virtio_pci: request irq error handling
...ertion(+) diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c index 2a353ab..2b1ea9b 100644 --- a/drivers/virtio/virtio_pci_common.c +++ b/drivers/virtio/virtio_pci_common.c @@ -266,6 +266,7 @@ static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, out_remove_vqs: vp_remove_vqs(vdev); kfree(vp_dev->msix_vector_map); + vp_dev->msix_vector_map = NULL; out_disable_config_irq: vp_dev->config_vector(vp_dev, VIRTIO_MSI_NO_VECTOR); out_free_config_irq: -- MST
2017 Jan 27
0
[PATCH 3/9] virtio_pci: don't duplicate the msix_enable flag in struct pci_dev
...->msix_enabled) { for (i = 0; i < vp_dev->msix_vectors; i++) free_cpumask_var(vp_dev->msix_affinity_masks[i]); @@ -245,7 +245,6 @@ static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, allocated_vectors++; } - vp_dev->msix_enabled = 1; return 0; out_remove_vqs: @@ -341,7 +340,7 @@ int vp_set_vq_affinity(struct virtqueue *vq, int cpu) if (!vq->callback) return -EINVAL; - if (vp_dev->msix_enabled) { + if (vp_dev->pci_dev->msix_enabled) { int vec = vp_dev->msix_vector_map[vq->index]; struct cpumask *mask = vp_dev->msix_affi...
2017 Mar 07
0
panic in virtio console startup in v4.11-rc1
...rtio_pci_common.c:227). 222 if (callbacks[i]) 223 msix_vec = allocated_vectors; 224 else 225 msix_vec = VIRTIO_MSI_NO_VECTOR; 226 227 vqs[i] = vp_dev->setup_vq(vp_dev, i, callbacks[i], names[i], 228 msix_vec); 229 if (IS_ERR(vqs[i])) { 230 err = PTR_ERR(vqs[i]); 231 goto out_remove_vqs; -- Jeff Layton <jlayton at redhat.com> -------------- next part -------------- A non-text attachment was scrubbed... Name: config Type: text/x-mpsub Size: 185255 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20170307/1b00195f/attac...
2017 Mar 07
0
panic in virtio console startup in v4.11-rc1
...rtio_pci_common.c:227). 222 if (callbacks[i]) 223 msix_vec = allocated_vectors; 224 else 225 msix_vec = VIRTIO_MSI_NO_VECTOR; 226 227 vqs[i] = vp_dev->setup_vq(vp_dev, i, callbacks[i], names[i], 228 msix_vec); 229 if (IS_ERR(vqs[i])) { 230 err = PTR_ERR(vqs[i]); 231 goto out_remove_vqs; -- Jeff Layton <jlayton at redhat.com> -------------- next part -------------- A non-text attachment was scrubbed... Name: config Type: text/x-mpsub Size: 185255 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20170307/1b00195f/attac...
2017 Jan 27
15
automatic IRQ affinity for virtio V2
Hi Michael, hi Jason, This patches applies a few cleanups to the virtio PCI interrupt handling code, and then converts the virtio PCI code to use the automatic MSI-X vectors spreading, as well as using the information in virtio-blk and virtio-scsi to automatically align the blk-mq queues to the MSI-X vectors. Changes since V1: - dropped the patches already merged for 4.10-rc - new patch to
2017 Jan 27
15
automatic IRQ affinity for virtio V2
Hi Michael, hi Jason, This patches applies a few cleanups to the virtio PCI interrupt handling code, and then converts the virtio PCI code to use the automatic MSI-X vectors spreading, as well as using the information in virtio-blk and virtio-scsi to automatically align the blk-mq queues to the MSI-X vectors. Changes since V1: - dropped the patches already merged for 4.10-rc - new patch to
2017 Mar 29
2
[PATCH 2/6] virtio: add context flag to find vqs
...tic int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, msix_vec = VIRTIO_MSI_NO_VECTOR; vqs[i] = vp_dev->setup_vq(vp_dev, i, callbacks[i], names[i], - msix_vec); + ctx ? ctx[i] : false, + msix_vec); if (IS_ERR(vqs[i])) { err = PTR_ERR(vqs[i]); goto out_remove_vqs; @@ -282,7 +284,7 @@ static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, static int vp_find_vqs_intx(struct virtio_device *vdev, unsigned nvqs, struct virtqueue *vqs[], vq_callback_t *callbacks[], - const char * const names[]) + const char * const names[], const bool *ctx...
2017 Mar 29
2
[PATCH 2/6] virtio: add context flag to find vqs
...tic int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, msix_vec = VIRTIO_MSI_NO_VECTOR; vqs[i] = vp_dev->setup_vq(vp_dev, i, callbacks[i], names[i], - msix_vec); + ctx ? ctx[i] : false, + msix_vec); if (IS_ERR(vqs[i])) { err = PTR_ERR(vqs[i]); goto out_remove_vqs; @@ -282,7 +284,7 @@ static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs, static int vp_find_vqs_intx(struct virtio_device *vdev, unsigned nvqs, struct virtqueue *vqs[], vq_callback_t *callbacks[], - const char * const names[]) + const char * const names[], const bool *ctx...
2017 Mar 23
3
[REGRESSION] 07ec51480b5e ("virtio_pci: use shared interrupts for virtqueues") causes crashes in guest
Hi, Fedora has received multiple reports of crashes when running 4.11 as a guest https://bugzilla.redhat.com/show_bug.cgi?id=1430297 https://bugzilla.redhat.com/show_bug.cgi?id=1434462 https://bugzilla.kernel.org/show_bug.cgi?id=194911 https://bugzilla.redhat.com/show_bug.cgi?id=1433899 The crashes are not always consistent but they are generally some flavor of oops or GPF in virtio related
2017 Mar 23
3
[REGRESSION] 07ec51480b5e ("virtio_pci: use shared interrupts for virtqueues") causes crashes in guest
Hi, Fedora has received multiple reports of crashes when running 4.11 as a guest https://bugzilla.redhat.com/show_bug.cgi?id=1430297 https://bugzilla.redhat.com/show_bug.cgi?id=1434462 https://bugzilla.kernel.org/show_bug.cgi?id=194911 https://bugzilla.redhat.com/show_bug.cgi?id=1433899 The crashes are not always consistent but they are generally some flavor of oops or GPF in virtio related