search for: virtscsi_vq_don

Displaying 20 results from an estimated 24 matches for "virtscsi_vq_don".

Did you mean: virtscsi_vq_done
2013 Feb 12
6
[PATCH v3 0/5] virtio-scsi multiqueue
...e.linux.kernel.virtualization/17869: - patches 1 and 2 ("virtio: add functions for piecewise addition of buffers", "virtio-scsi: use functions for piecewise composition of buffers") split into their own series - new cleanup patch "virtio-scsi: push vq lock/unlock into virtscsi_vq_done" - reorganized code to move ACCESS_ONCE in a clearer place - included Wanlong Gao's CPU hotplug patches Ok for 3.9? It would probably be easier to get it in via Rusty's tree because of the prerequisites. James, can I get your Acked-by? Paolo Paolo Bonzini (4): virtio-scsi: re...
2013 Feb 12
6
[PATCH v3 0/5] virtio-scsi multiqueue
...e.linux.kernel.virtualization/17869: - patches 1 and 2 ("virtio: add functions for piecewise addition of buffers", "virtio-scsi: use functions for piecewise composition of buffers") split into their own series - new cleanup patch "virtio-scsi: push vq lock/unlock into virtscsi_vq_done" - reorganized code to move ACCESS_ONCE in a clearer place - included Wanlong Gao's CPU hotplug patches Ok for 3.9? It would probably be easier to get it in via Rusty's tree because of the prerequisites. James, can I get your Acked-by? Paolo Paolo Bonzini (4): virtio-scsi: re...
2013 Mar 11
7
[PATCH V4 0/5] virtio-scsi multiqueue
...ould probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (4): virtio-scsi: redo allocation of target data virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (1): virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 364 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 291 insertions(+), 73 deletions(-) -- 1.8.2.rc2
2013 Mar 11
7
[PATCH V4 0/5] virtio-scsi multiqueue
...ould probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (4): virtio-scsi: redo allocation of target data virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (1): virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 364 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 291 insertions(+), 73 deletions(-) -- 1.8.2.rc2
2013 Mar 19
6
[PATCH V5 0/5] virtio-scsi multiqueue
...ould probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (4): virtio-scsi: redo allocation of target data virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (1): virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 359 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 290 insertions(+), 69 deletions(-) -- 1.8.2.rc2
2013 Mar 19
6
[PATCH V5 0/5] virtio-scsi multiqueue
...ould probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (4): virtio-scsi: redo allocation of target data virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (1): virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 359 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 290 insertions(+), 69 deletions(-) -- 1.8.2.rc2
2013 Mar 23
10
[PATCH V7 0/5] virtio-scsi multiqueue
...alization&m=136067440717154&w=2 It would probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (3): virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (2): virtio-scsi: redo allocation of target data virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 387 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 309 insertions(+), 78 deletio...
2013 Mar 23
10
[PATCH V7 0/5] virtio-scsi multiqueue
...alization&m=136067440717154&w=2 It would probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (3): virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (2): virtio-scsi: redo allocation of target data virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 387 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 309 insertions(+), 78 deletio...
2013 Mar 20
7
[PATCH V6 0/5] virtio-scsi multiqueue
...lization&m=136067440717154&w=2 It would probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (3): virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (2): virtio-scsi: redo allocation of target data virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 387 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 309 insertions(+), 78 deletio...
2013 Mar 20
7
[PATCH V6 0/5] virtio-scsi multiqueue
...lization&m=136067440717154&w=2 It would probably be easier to get it in via Rusty's tree because of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (3): virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (2): virtio-scsi: redo allocation of target data virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 387 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 309 insertions(+), 78 deletio...
2012 Jul 03
2
[PATCH v2] virtio-scsi: hotplug support for virtio-scsi
...nt_node->work); +} + static void virtscsi_event_done(struct virtqueue *vq) { struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); @@ -209,7 +310,7 @@ static void virtscsi_event_done(struct virtqueue *vq) unsigned long flags; spin_lock_irqsave(&vscsi->event_vq.vq_lock, flags); - virtscsi_vq_done(vq, virtscsi_complete_free); + virtscsi_vq_done(vq, virtscsi_complete_event); spin_unlock_irqrestore(&vscsi->event_vq.vq_lock, flags); }; @@ -510,6 +611,10 @@ static int virtscsi_init(struct virtio_device *vdev, virtscsi_config_set(vdev, cdb_size, VIRTIO_SCSI_CDB_SIZE); virtscsi_co...
2012 Jul 03
2
[PATCH v2] virtio-scsi: hotplug support for virtio-scsi
...nt_node->work); +} + static void virtscsi_event_done(struct virtqueue *vq) { struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); @@ -209,7 +310,7 @@ static void virtscsi_event_done(struct virtqueue *vq) unsigned long flags; spin_lock_irqsave(&vscsi->event_vq.vq_lock, flags); - virtscsi_vq_done(vq, virtscsi_complete_free); + virtscsi_vq_done(vq, virtscsi_complete_event); spin_unlock_irqrestore(&vscsi->event_vq.vq_lock, flags); }; @@ -510,6 +611,10 @@ static int virtscsi_init(struct virtio_device *vdev, virtscsi_config_set(vdev, cdb_size, VIRTIO_SCSI_CDB_SIZE); virtscsi_co...
2012 Jul 05
1
[PATCH v3] virtio-scsi: hotplug support for virtio-scsi
...nt_node->work); +} + static void virtscsi_event_done(struct virtqueue *vq) { struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); @@ -209,7 +310,7 @@ static void virtscsi_event_done(struct virtqueue *vq) unsigned long flags; spin_lock_irqsave(&vscsi->event_vq.vq_lock, flags); - virtscsi_vq_done(vq, virtscsi_complete_free); + virtscsi_vq_done(vq, virtscsi_complete_event); spin_unlock_irqrestore(&vscsi->event_vq.vq_lock, flags); }; @@ -510,6 +611,10 @@ static int virtscsi_init(struct virtio_device *vdev, virtscsi_config_set(vdev, cdb_size, VIRTIO_SCSI_CDB_SIZE); virtscsi_co...
2012 Jul 05
1
[PATCH v3] virtio-scsi: hotplug support for virtio-scsi
...nt_node->work); +} + static void virtscsi_event_done(struct virtqueue *vq) { struct Scsi_Host *sh = virtio_scsi_host(vq->vdev); @@ -209,7 +310,7 @@ static void virtscsi_event_done(struct virtqueue *vq) unsigned long flags; spin_lock_irqsave(&vscsi->event_vq.vq_lock, flags); - virtscsi_vq_done(vq, virtscsi_complete_free); + virtscsi_vq_done(vq, virtscsi_complete_event); spin_unlock_irqrestore(&vscsi->event_vq.vq_lock, flags); }; @@ -510,6 +611,10 @@ static int virtscsi_init(struct virtio_device *vdev, virtscsi_config_set(vdev, cdb_size, VIRTIO_SCSI_CDB_SIZE); virtscsi_co...
2012 Aug 28
11
[PATCH 0/5] Multiqueue virtio-scsi
Hi all, this series adds multiqueue support to the virtio-scsi driver, based on Jason Wang's work on virtio-net. It uses a simple queue steering algorithm that expects one queue per CPU. LUNs in the same target always use the same queue (so that commands are not reordered); queue switching occurs when the request being queued is the only one for the target. Also based on Jason's
2012 Aug 28
11
[PATCH 0/5] Multiqueue virtio-scsi
Hi all, this series adds multiqueue support to the virtio-scsi driver, based on Jason Wang's work on virtio-net. It uses a simple queue steering algorithm that expects one queue per CPU. LUNs in the same target always use the same queue (so that commands are not reordered); queue switching occurs when the request being queued is the only one for the target. Also based on Jason's
2012 Dec 18
13
[PATCH v2 0/5] Multiqueue virtio-scsi, and API for piecewise buffer submission
Hi all, this series adds multiqueue support to the virtio-scsi driver, based on Jason Wang's work on virtio-net. It uses a simple queue steering algorithm that expects one queue per CPU. LUNs in the same target always use the same queue (so that commands are not reordered); queue switching occurs when the request being queued is the only one for the target. Also based on Jason's
2012 Dec 18
13
[PATCH v2 0/5] Multiqueue virtio-scsi, and API for piecewise buffer submission
Hi all, this series adds multiqueue support to the virtio-scsi driver, based on Jason Wang's work on virtio-net. It uses a simple queue steering algorithm that expects one queue per CPU. LUNs in the same target always use the same queue (so that commands are not reordered); queue switching occurs when the request being queued is the only one for the target. Also based on Jason's
2013 Oct 24
0
[PATCH V2 RFC 9/9] virtio_scsi: verify if queue is broken after virtqueue_get_buf()
...t.ibm.com> --- drivers/scsi/virtio_scsi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 74b88ef..45bcdb5 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -224,7 +224,8 @@ static void virtscsi_vq_done(struct virtio_scsi *vscsi, virtqueue_disable_cb(vq); while ((buf = virtqueue_get_buf(vq, &len)) != NULL) fn(vscsi, buf); - } while (!virtqueue_enable_cb(vq)); + } while (unlikely(!virtqueue_is_broken(vq)) && + !virtqueue_enable_cb(vq)); spin_unlock_irqrestore(&virtscs...
2013 Nov 04
0
[PATCH V2 RFC 9/9] virtio_scsi: verify if queue is broken after virtqueue_get_buf()
...fs at linux.vnet.ibm.com> --- drivers/scsi/virtio_scsi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 74b88ef..aa25aab 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -224,6 +224,9 @@ static void virtscsi_vq_done(struct virtio_scsi *vscsi, virtqueue_disable_cb(vq); while ((buf = virtqueue_get_buf(vq, &len)) != NULL) fn(vscsi, buf); + + if (unlikely(virtqueue_is_broken(vq))) + break; } while (!virtqueue_enable_cb(vq)); spin_unlock_irqrestore(&virtscsi_vq->vq_lock, flags); } --...