From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:36364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QRP96-0007Dd-JO for qemu-devel@nongnu.org; Tue, 31 May 2011 09:38:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QRP91-0002ND-81 for qemu-devel@nongnu.org; Tue, 31 May 2011 09:38:08 -0400 Received: from mail-gw0-f45.google.com ([74.125.83.45]:63441) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QRP91-0002Mo-0j for qemu-devel@nongnu.org; Tue, 31 May 2011 09:38:03 -0400 Received: by gwb19 with SMTP id 19so2116418gwb.4 for ; Tue, 31 May 2011 06:38:02 -0700 (PDT) Message-ID: <4DE4EF38.2010600@codemonkey.ws> Date: Tue, 31 May 2011 08:38:00 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1306407411-4290-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1306407411-4290-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL v5 00/25] SCSI subsystem improvements List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On 05/26/2011 05:56 AM, Paolo Bonzini wrote: > The following changes since commit aa29141d84d58171c2d219f0a4b599bd76fb2e37: > > Merge remote-tracking branch 'kraxel/CVE-2011-1751' into staging (2011-05-25 07:04:13 -0500) > > are available in the git repository at: > > git://github.com/bonzini/qemu.git scsi.2 > > This series includes the following improvements to the SCSI subsystem: Pulled. Thanks. Regards, Anthony Liguori > > 1) introduction of SCSIBusOps that generalize the existing > command_complete callback; > > 2) widespread use of the SCSIRequest abstraction, with simpler memory > management (refcounting) and with various common idioms converted into > simple C functions instead of duplicating them all over the place; > > 3) support for autosense. > > Some patches are from Hannes Reinecke's megasas patchset posted last > November, forward ported and applied to the new vSCSI controller as > well. Most have been acked by Christoph; I fixed all issues he > pointed out in the others. > > I already planned the following two series too: > > 1) adding support for zerocopy. Previous attempts were rejected > because they were applied to real devices (thus making for example an > IOMMU hard to impossible). However, for PV devices zerocopy should be > uncontroversial---and it is a must to get competitive performance WRT > virtio-blk. I'll use vmw-pvscsi for the first implementation and for > benchmarking. > > 2) adding support for multiple LUNs; see recently posted RFC for this. > > After this I'll work on the virtio-scsi device model. > > Testing: > - RHEL6.1 install complete to scsi-disk with lsi, from scsi-generic CD > - iozone run with lsi on scsi-disk target > - RHEL6.1 install to usb-msd from IDE CD is too slow, but it manages to > format /boot in ~10 minutes with or without the patches > - RHEL6.1 install with vscsi with scsi-disk CD and installation disk > hung at the same place with or without the series, perhaps it was > just me being impatient. > > esp is only compile tested. > > Please review and merge. > > v4->v5: > SCSIBusOps now const-ified. Added braces here and there. > Added patch 5. > > v3->v4: > renamed scsi_req_kick to scsi_req_continue. Changed SCSIBusOps to > pointer. Removed scsi_req_free, merged it into scsi_req_unref. > Added head comments for some functions. Renamed arguments to > HBA callbacks. Added patches 23 and 24 > > v2->v3: > included fixes for Jonathan Nieder's recently reported bug > > v1->v2: > rebased, added patch 21 > > Hannes Reinecke (4): > scsi: Use 'SCSIRequest' directly > scsi: Update sense code handling > scsi: Implement 'get_sense' callback > scsi-disk: add data direction checking > > Paolo Bonzini (21): > scsi: add tracing of scsi requests > scsi-generic: Remove bogus double complete > scsi: introduce scsi_req_data > scsi: introduce SCSIBusOps > scsi-generic: do not use a stale aiocb > scsi: reference-count requests > lsi: extract lsi_find_by_tag > scsi: commonize purging requests > scsi: introduce scsi_req_abort > scsi: introduce scsi_req_cancel > scsi: use scsi_req_complete > scsi: do not call send_command directly > scsi: introduce scsi_req_new > scsi: introduce scsi_req_continue > scsi: introduce scsi_req_get_buf > scsi: make write_data return void > scsi-generic: Handle queue full > esp: rename sense to status > scsi: split command_complete callback in two > scsi: rename arguments to the new callbacks > scsi: ignore LUN field in the CDB > > hw/esp.c | 119 ++++++++++++++---------- > hw/lsi53c895a.c | 200 ++++++++++++++++++++++++--------------- > hw/scsi-bus.c | 220 +++++++++++++++++++++++++++++++++++++++---- > hw/scsi-disk.c | 271 ++++++++++++++++++++++------------------------------- > hw/scsi-generic.c | 223 +++++++++++++++++++++----------------------- > hw/scsi.h | 91 ++++++++++++++---- > hw/spapr_vscsi.c | 187 ++++++++++++++++++++---------------- > hw/usb-msd.c | 120 ++++++++++++++---------- > trace-events | 8 ++ > 9 files changed, 866 insertions(+), 573 deletions(-) >