From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH] scsi: fix regression that accidentally disabled block-based tcq Date: Sat, 13 Sep 2014 12:28:41 +0200 Message-ID: <54141C59.7040707@redhat.com> References: <540EC52C.3000804@redhat.com> <20140909152730.GA17882@infradead.org> <540FFBF4.9090001@redhat.com> <20140910154535.GA5102@infradead.org> <541172E9.8070309@redhat.com> <20140911161331.GA24488@infradead.org> <54134E50.6040805@redhat.com> <20140912230032.GA21143@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20140912230032.GA21143@infradead.org> Sender: linux-kernel-owner@vger.kernel.org To: Christoph Hellwig Cc: linux-usb , SCSI development list , Linux Kernel Mailing List List-Id: linux-scsi@vger.kernel.org Hi, On 09/13/2014 01:00 AM, Christoph Hellwig wrote: > Please try the fix below, looks like the commit broke TCQ for all drivers > using block-level tagging. Yes this one does the trick and fixes things. Note the git tree I used for testing also had your previous fix to split up the blk_tcq union in 2 separate struct members. Let me know if you want me to re-test without that fix. Thanks & Regards, Hans > > --- > From 865a19b760d2786fe37d3b5c151a4ecea4c0e95e Mon Sep 17 00:00:00 2001 > From: Christoph Hellwig > Date: Fri, 12 Sep 2014 16:00:19 -0700 > Subject: scsi: fix regression that accidentally disabled block-based tcq > > The scsi blk-mq support accidentally flipped a conditional, which lead to > never enabling block based tcq when using the legacy request path. > > Fixes: d285203cf647d7c9 scsi: add support for a blk-mq based I/O path. > Reported-by: Hans de Goede > Signed-off-by: Christoph Hellwig > --- > include/scsi/scsi_tcq.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h > index cdcc90b..e645835 100644 > --- a/include/scsi/scsi_tcq.h > +++ b/include/scsi/scsi_tcq.h > @@ -68,7 +68,7 @@ static inline void scsi_activate_tcq(struct scsi_device *sdev, int depth) > return; > > if (!shost_use_blk_mq(sdev->host) && > - blk_queue_tagged(sdev->request_queue)) > + !blk_queue_tagged(sdev->request_queue)) > blk_queue_init_tags(sdev->request_queue, depth, > sdev->host->bqt); > >