qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Fam Zheng <famz@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 0/7] virtio-scsi: Asynchronous cancellation
Date: Wed, 24 Sep 2014 13:10:08 +0200	[thread overview]
Message-ID: <5422A690.2020904@redhat.com> (raw)
In-Reply-To: <1411547278-25915-1-git-send-email-famz@redhat.com>

Il 24/09/2014 10:27, Fam Zheng ha scritto:
> v2: Address Paolo's comments:
>     - Drop scsi_req_abort.
>     - Split patch 1.
>     - Use NotifierList.
>     - Track the number of cancelled requests in virtio-scsi.
> 
> This series changes VIRTIO_SCSI_T_TMF_ABORT_TASK and
> VIRTIO_SCSI_T_TMF_ABORT_TASK_SET emulation to asynchronous by making use of
> bdrv_aio_cancel_async.
> 
> Before, when guest cancels a SCSI command, we use a nested poll loop to wait
> until the request is cancelled or completed before returning. This blocks the
> whole vm and makes the guest unresponsive if the backend block device takes
> time to complete it, possibly because of slow IO, throttling, network issue,
> etc..
> 
> Now we return to the guest to allow vcpus to run before completing the TMF, and
> only after all the requests have been canceled, we notify the guest about the
> completing of the TMF command.
> 
> 
> 
> Fam Zheng (7):
>   scsi: Drop scsi_req_abort
>   scsi-generic: Handle canceled request in scsi_command_complete
>   scsi-bus: Unify request unref in scsi_req_cancel
>   scsi: Drop SCSIReqOps.cancel_io
>   scsi: Introduce scsi_req_canceled
>   scsi: Introduce scsi_req_cancel_async
>   virtio-scsi: Handle TMF request cancellation asynchronously
> 
>  hw/scsi/scsi-bus.c     | 48 +++++++++++++++++++----------
>  hw/scsi/scsi-disk.c    | 59 ++++++++++-------------------------
>  hw/scsi/scsi-generic.c | 37 ++++++----------------
>  hw/scsi/spapr_vscsi.c  | 11 +++++--
>  hw/scsi/virtio-scsi.c  | 84 +++++++++++++++++++++++++++++++++++++++++++++-----
>  include/hw/scsi/scsi.h |  5 ++-
>  6 files changed, 146 insertions(+), 98 deletions(-)
> 

I didn't review 5-7 yet, and they are more complicated so I'll start by
applying the nice cleanup part (1-4).

Thanks!

Paolo

      parent reply	other threads:[~2014-09-24 11:10 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-24  8:27 [Qemu-devel] [PATCH v2 0/7] virtio-scsi: Asynchronous cancellation Fam Zheng
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 1/7] scsi: Drop scsi_req_abort Fam Zheng
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 2/7] scsi-generic: Handle canceled request in scsi_command_complete Fam Zheng
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 3/7] scsi-bus: Unify request unref in scsi_req_cancel Fam Zheng
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 4/7] scsi: Drop SCSIReqOps.cancel_io Fam Zheng
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 5/7] scsi: Introduce scsi_req_canceled Fam Zheng
2014-09-24 11:19   ` Paolo Bonzini
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 6/7] scsi: Introduce scsi_req_cancel_async Fam Zheng
2014-09-24 11:15   ` Paolo Bonzini
2014-09-24  8:27 ` [Qemu-devel] [PATCH v2 7/7] virtio-scsi: Handle TMF request cancellation asynchronously Fam Zheng
2014-09-24 11:18   ` Paolo Bonzini
2014-09-25  2:01     ` Fam Zheng
2014-09-25  8:40       ` Paolo Bonzini
2014-09-24 11:10 ` Paolo Bonzini [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5422A690.2020904@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).