From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756595AbcIGHqu (ORCPT ); Wed, 7 Sep 2016 03:46:50 -0400 Received: from mx2.suse.de ([195.135.220.15]:50107 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754004AbcIGHqs (ORCPT ); Wed, 7 Sep 2016 03:46:48 -0400 Date: Wed, 7 Sep 2016 09:46:45 +0200 From: Johannes Thumshirn To: Long Li Cc: "K. Y. Srinivasan" , Haiyang Zhang , "James E.J. Bottomley" , "Martin K. Petersen" , devel@linuxdriverproject.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Long Li Subject: Re: [PATCH 1/3] storvsc: use tagged SRB requests if supported by the device Message-ID: <20160907074645.6ecwmq7pmf6mb4pg@c203.arch.suse.de> References: <1473197143-16760-1-git-send-email-longli@exchange.microsoft.com> <1473197143-16760-2-git-send-email-longli@exchange.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1473197143-16760-2-git-send-email-longli@exchange.microsoft.com> User-Agent: Mutt/1.6.2-neo (2016-06-11) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 06, 2016 at 02:25:41PM -0700, Long Li wrote: > From: Long Li > > Properly set SRB flags when hosting device supports tagged queuing. This patch improves the performance on Fiber Channel disks. ENOSIGNEDOFF and please use checkpatch.pl on the patch. > > --- > drivers/scsi/storvsc_drv.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c > index 8ccfc9e..a8f3e4c 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -136,6 +136,8 @@ struct hv_fc_wwn_packet { > #define SRB_FLAGS_PORT_DRIVER_RESERVED 0x0F000000 > #define SRB_FLAGS_CLASS_DRIVER_RESERVED 0xF0000000 > > +#define SP_UNTAGGED ((unsigned char) ~0) > +#define SRB_SIMPLE_TAG_REQUEST 0x20 > > /* > * Platform neutral description of a scsi request - > @@ -1451,6 +1453,12 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd) > vm_srb->win8_extension.srb_flags |= > SRB_FLAGS_DISABLE_SYNCH_TRANSFER; > > + if(scmnd->device->tagged_supported) { > + vm_srb->win8_extension.srb_flags |= (SRB_FLAGS_QUEUE_ACTION_ENABLE | SRB_FLAGS_NO_QUEUE_FREEZE); > + vm_srb->win8_extension.queue_tag = SP_UNTAGGED; > + vm_srb->win8_extension.queue_action = SRB_SIMPLE_TAG_REQUEST; > + } > + > /* Build the SRB */ > switch (scmnd->sc_data_direction) { > case DMA_TO_DEVICE: > -- > 1.8.5.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850