* Re: [PATCH 1/5] vhost: add helper to check if a vq has been setup [not found] ` <1604986403-4931-2-git-send-email-michael.christie@oracle.com> @ 2020-11-10 7:20 ` Jason Wang 0 siblings, 0 replies; 2+ messages in thread From: Jason Wang @ 2020-11-10 7:20 UTC (permalink / raw) To: Mike Christie, linux-scsi, target-devel, mst, pbonzini, stefanha, virtualization On 2020/11/10 下午1:33, Mike Christie wrote: > This adds a helper check if a vq has been setup. The next patches > will use this when we move the vhost scsi cmd preallocation from per > session to per vq. In the per vq case, we only want to allocate cmds > for vqs that have actually been setup and not for all the possible > vqs. > > Signed-off-by: Mike Christie <michael.christie@oracle.com> > --- > drivers/vhost/vhost.c | 6 ++++++ > drivers/vhost/vhost.h | 1 + > 2 files changed, 7 insertions(+) > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 5c835a2..a262e12 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -304,6 +304,12 @@ static void vhost_vring_call_reset(struct vhost_vring_call *call_ctx) > memset(&call_ctx->producer, 0x0, sizeof(struct irq_bypass_producer)); > } > > +bool vhost_vq_is_setup(struct vhost_virtqueue *vq) > +{ > + return vq->avail && vq->desc && vq->used && vhost_vq_access_ok(vq); > +} > +EXPORT_SYMBOL_GPL(vhost_vq_is_setup); > + > static void vhost_vq_reset(struct vhost_dev *dev, > struct vhost_virtqueue *vq) > { > diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h > index e016cd3..b063324 100644 > --- a/drivers/vhost/vhost.h > +++ b/drivers/vhost/vhost.h > @@ -190,6 +190,7 @@ int vhost_get_vq_desc(struct vhost_virtqueue *, > struct vhost_log *log, unsigned int *log_num); > void vhost_discard_vq_desc(struct vhost_virtqueue *, int n); > > +bool vhost_vq_is_setup(struct vhost_virtqueue *vq); > int vhost_vq_init_access(struct vhost_virtqueue *); > int vhost_add_used(struct vhost_virtqueue *, unsigned int head, int len); > int vhost_add_used_n(struct vhost_virtqueue *, struct vring_used_elem *heads, Acked-by: Jason Wang <jasowang@redhat.com> _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 0/5 V5] vhost-scsi: IO error fixups [not found] <1604986403-4931-1-git-send-email-michael.christie@oracle.com> [not found] ` <1604986403-4931-2-git-send-email-michael.christie@oracle.com> @ 2020-11-12 17:00 ` Stefan Hajnoczi 1 sibling, 0 replies; 2+ messages in thread From: Stefan Hajnoczi @ 2020-11-12 17:00 UTC (permalink / raw) To: Mike Christie; +Cc: linux-scsi, mst, virtualization, target-devel, pbonzini [-- Attachment #1.1: Type: text/plain, Size: 1502 bytes --] On Mon, Nov 09, 2020 at 11:33:18PM -0600, Mike Christie wrote: > The following patches were made over Michael's vhost branch: > > https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git/log/?h=vhost > > They fixe a couple issues where the guest is getting IO errors: > 1. The admin may set num_queues and cmd_per_lun/virtqueue_size > in a way that allows the guest to send more IO that vhost-scsi > was coded for. > > 2. A race where vhost-scsi completes the cmd to the guest before > it's fully completed in the target/vhost-scsi layers so if the > guest sends a new IO too quicky we fail it. > > 3. If the real/physical storage (lio backend device) hits a transient > error then vhost-scsi would fail commands instead of relying on > the lower levels error recovery to do what the admin had set up. > > V5: > - Bring back V1 but move flush patches to a separate clean up set > - Modify test in vhost_vq_is_setup > > V4: > - really really fix compile errors > - dropped threading patches so we can figure that out separately. > > V3: > - fix compile errors > - fix possible crash where cmd could be freed while adding it to > completion list > - fix issue where we added the worker thread to the blk cgroup but > the blk IO was submitted by a driver workqueue. > > V2: > - fix use before set cpu var errors > - drop vhost_vq_is_setup > - include patches to do a worker thread per scsi IO vq > > Acked-by: Stefan Hajnoczi <stefanha@redhat.com> [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] [-- Attachment #2: Type: text/plain, Size: 183 bytes --] _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-11-12 17:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1604986403-4931-1-git-send-email-michael.christie@oracle.com>
[not found] ` <1604986403-4931-2-git-send-email-michael.christie@oracle.com>
2020-11-10 7:20 ` [PATCH 1/5] vhost: add helper to check if a vq has been setup Jason Wang
2020-11-12 17:00 ` [PATCH 0/5 V5] vhost-scsi: IO error fixups Stefan Hajnoczi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).