search for: ccw_io_help

Displaying 20 results from an estimated 123 matches for "ccw_io_help".

Did you mean: ccw_io_helper
2018 Sep 18
0
[RFC PATCH 2/2] virtio/s390: fix race in ccw_io_helper()
On Wed, 12 Sep 2018 16:02:02 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > While ccw_io_helper() seems like intended to be exclusive in a sense that > it is supposed to facilitate I/O for at most one thread at any given > time, there is actually nothing ensuring that threads won't pile up at > vcdev->wait_q. If they all threads get woken up and see the status that > belo...
2023 Mar 05
0
[PATCH AUTOSEL 6.2 05/16] s390/virtio: sort out physical vs virtual pointers usage
...w_device *vcdev, ccw->cmd_code = CCW_CMD_READ_VQ_CONF; ccw->flags = 0; ccw->count = sizeof(struct vq_config_block); - ccw->cda = (__u32)(unsigned long)(&vcdev->dma_area->config_block); + ccw->cda = (__u32)virt_to_phys(&vcdev->dma_area->config_block); ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_READ_VQ_CONF); if (ret) return ret; @@ -454,7 +454,7 @@ static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw) } ccw->cmd_code = CCW_CMD_SET_VQ; ccw->flags = 0; - ccw->cda = (__u32)(unsigned long)(info->info_block); + ccw->cda...
2023 Mar 05
0
[PATCH AUTOSEL 6.1 05/15] s390/virtio: sort out physical vs virtual pointers usage
...w_device *vcdev, ccw->cmd_code = CCW_CMD_READ_VQ_CONF; ccw->flags = 0; ccw->count = sizeof(struct vq_config_block); - ccw->cda = (__u32)(unsigned long)(&vcdev->dma_area->config_block); + ccw->cda = (__u32)virt_to_phys(&vcdev->dma_area->config_block); ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_READ_VQ_CONF); if (ret) return ret; @@ -454,7 +454,7 @@ static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw) } ccw->cmd_code = CCW_CMD_SET_VQ; ccw->flags = 0; - ccw->cda = (__u32)(unsigned long)(info->info_block); + ccw->cda...
2014 Dec 09
2
[PATCH v3 3/6] virtio: allow finalize_features to fail
...t_free; - + } /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); @@ -776,7 +778,9 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) ccw->flags = 0; ccw->count = sizeof(*features); ccw->cda = (__u32)(unsigned long)features; - ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); + ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); + if (ret) + goto out_free; if (vcdev->revision == 0) goto out_free; @@ -788,13 +792,13 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) ccw->flags = 0;...
2014 Dec 09
2
[PATCH v3 3/6] virtio: allow finalize_features to fail
...t_free; - + } /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); @@ -776,7 +778,9 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) ccw->flags = 0; ccw->count = sizeof(*features); ccw->cda = (__u32)(unsigned long)features; - ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); + ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); + if (ret) + goto out_free; if (vcdev->revision == 0) goto out_free; @@ -788,13 +792,13 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) ccw->flags = 0;...
2018 Sep 26
4
[PULL 0/2] virtio-ccw fixes
...eyword as a struct member name" (2018-09-25 13:28:58 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git tags/virtio-ccw-20180926 for you to fetch changes up to 1fd7ccf82385b3b14e4b3f009a82ada17ddc1e6f: virtio/s390: fix race in ccw_io_helper() (2018-09-25 15:29:10 +0200) ---------------------------------------------------------------- Two patches fixing races in the virtio-ccw driver. ---------------------------------------------------------------- Halil Pasic (2): virtio/s390: avoid race on vcdev->config virtio/s390: fix r...
2018 Sep 19
0
[RFC PATCH 2/2] virtio/s390: fix race in ccw_io_helper()
On Wed, 19 Sep 2018 15:17:28 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On 09/18/2018 08:45 PM, Cornelia Huck wrote: > > We basically have two options: > > - Have a way to queue I/O operations and then handle them in sequence. > > Creates complexity, and is likely overkill. (We already have a kind > > of serialization because we re-submit the channel
2018 Sep 20
0
[RFC PATCH 2/2] virtio/s390: fix race in ccw_io_helper()
On Wed, 19 Sep 2018 18:56:45 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On 09/19/2018 04:07 PM, Cornelia Huck wrote: > > Do you spot any other places where we may need to care about concurrent > > processing (like for the ->config area in the previous patch)? > > > > It is hard to tell, because: > * Synchronization external to the transport
2018 Sep 24
0
[PATCH 2/2] virtio/s390: fix race in ccw_io_helper()
On Mon, 24 Sep 2018 14:57:26 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On 09/21/2018 03:30 PM, Cornelia Huck wrote: > > On Fri, 21 Sep 2018 14:46:21 +0200 > > Halil Pasic <pasic at linux.ibm.com> wrote: > Again, not what I tried to say. By 'This' I meant 'this race'. How > about? > > """ > This race normally does
2018 Dec 06
1
[PULL 0/2] virtio-ccw fixes
...> are available in the Git repository at: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git tags/virtio-ccw-20180926 > > > > for you to fetch changes up to 1fd7ccf82385b3b14e4b3f009a82ada17ddc1e6f: > > > > virtio/s390: fix race in ccw_io_helper() (2018-09-25 15:29:10 +0200) > > > > ---------------------------------------------------------------- > > Two patches fixing races in the virtio-ccw driver. > > > > ---------------------------------------------------------------- > > > > Halil Pasic (...
2014 Dec 09
0
[PATCH v3 3/6] virtio: allow finalize_features to fail
...a chance to accept features. */ > vring_transport_features(vdev); > > @@ -776,7 +778,9 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) > ccw->flags = 0; > ccw->count = sizeof(*features); > ccw->cda = (__u32)(unsigned long)features; > - ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); > + ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); > + if (ret) > + goto out_free; > > if (vcdev->revision == 0) > goto out_free; > @@ -788,13 +792,13 @@ static int virtio_ccw_finalize_features(struct virtio_...
2014 Dec 09
0
[PATCH v3 3/6] virtio: allow finalize_features to fail
...a chance to accept features. */ > vring_transport_features(vdev); > > @@ -776,7 +778,9 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) > ccw->flags = 0; > ccw->count = sizeof(*features); > ccw->cda = (__u32)(unsigned long)features; > - ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); > + ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_WRITE_FEAT); > + if (ret) > + goto out_free; > > if (vcdev->revision == 0) > goto out_free; > @@ -788,13 +792,13 @@ static int virtio_ccw_finalize_features(struct virtio_...
2015 Sep 10
0
[PATCH 1/1] virtio/s390: handle failures of READ_VQ_CONF ccw
From: Pierre Morel <pmorel at linux.vnet.ibm.com> In virtio_ccw_read_vq_conf() the return value of ccw_io_helper() was not checked. If the configuration could not be read properly, we'd wrongly assume a queue size of 0. Let's propagate any I/O error to virtio_ccw_setup_vq() so it may properly fail. Signed-off-by: Pierre Morel <pmorel at linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <co...
2015 Sep 10
2
[PATCH 0/1] virtio/s390: one bugfix
Michael, here's a bugfix for the virtio-ccw driver. Question: How would you like to get patches? This one is formatted against your current linux-next branch; I can prepare a branch for you to pull from as well. Pierre Morel (1): virtio/s390: handle failures of READ_VQ_CONF ccw drivers/s390/virtio/virtio_ccw.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.3.8
2015 Sep 10
2
[PATCH 0/1] virtio/s390: one bugfix
Michael, here's a bugfix for the virtio-ccw driver. Question: How would you like to get patches? This one is formatted against your current linux-next branch; I can prepare a branch for you to pull from as well. Pierre Morel (1): virtio/s390: handle failures of READ_VQ_CONF ccw drivers/s390/virtio/virtio_ccw.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.3.8
2014 Dec 09
7
[PATCH 0/2] virtio_ccw: minor enhancements
Two enhancements for virtio_ccw, on top of latest 1.0 patchset Cornelia Huck (1): virtio_ccw: finalize_features error handling Michael S. Tsirkin (1): virtio_ccw: future-proof finalize_features drivers/s390/kvm/virtio_ccw.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) -- MST
2014 Dec 09
7
[PATCH 0/2] virtio_ccw: minor enhancements
Two enhancements for virtio_ccw, on top of latest 1.0 patchset Cornelia Huck (1): virtio_ccw: finalize_features error handling Michael S. Tsirkin (1): virtio_ccw: future-proof finalize_features drivers/s390/kvm/virtio_ccw.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) -- MST
2019 Apr 26
0
[PATCH 08/10] virtio/s390: add indirection to indicators access
...= CCW_CMD_SET_IND; - ccw->count = sizeof(&vcdev->indicators); + ccw->count = sizeof(indicators(vcdev)); ccw->cda = (__u32)(unsigned long) indicatorp; } /* Deregister indicators from host. */ - vcdev->indicators = 0; + *indicators(vcdev) = 0; ccw->flags = 0; ret = ccw_io_helper(vcdev, ccw, vcdev->is_thinint ? @@ -656,10 +666,10 @@ static int virtio_ccw_find_vqs(struct virtio_device *vdev, unsigned nvqs, * We need a data area under 2G to communicate. Our payload is * the address of the indicators. */ - indicatorp = kmalloc(sizeof(&vcdev->indicat...
2015 Feb 26
2
virtio balloon: do not call blocking ops when !TASK_RUNNING
...ccw and config_area should be allocated inside vcdev. > You could either use pointers, or simply allocate vcdev with GDP_DMA. > > This would avoid the kmalloc inside these calls. > > Thanks, > Rusty. But it won't solve the problem of nested sleepers with ccw: ATM is invokes ccw_io_helper to execute commands, and that one calls wait_event to wait for an interrupt. Might be fixable but I think my patch looks like a safer solution for 4.0/3.19, no? -- MST
2015 Feb 26
2
virtio balloon: do not call blocking ops when !TASK_RUNNING
...ccw and config_area should be allocated inside vcdev. > You could either use pointers, or simply allocate vcdev with GDP_DMA. > > This would avoid the kmalloc inside these calls. > > Thanks, > Rusty. But it won't solve the problem of nested sleepers with ccw: ATM is invokes ccw_io_helper to execute commands, and that one calls wait_event to wait for an interrupt. Might be fixable but I think my patch looks like a safer solution for 4.0/3.19, no? -- MST