[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <2111455.4B0otWTvWT@amdc1032>
Date: Wed, 23 Jul 2014 18:46:05 +0200
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
To: Tejun Heo <tj@...nel.org>
Cc: Jesse Brandeburg <jesse.brandeburg@...il.com>,
Mike Qiu <qiudayu@...ux.vnet.ibm.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
linux-ide@...r.kernel.org, wenxiong@...ux.vnet.ibm.com,
brking@...ux.vnet.ibm.com, zhenghch@...ibm.com, haokexin@...il.com,
Peter Hurley <peter@...leysoftware.com>,
Peter Zijlstra <peterz@...radead.org>,
Alexey Kardashevskiy <aik@...abs.ru>
Subject: Re: [PATCH libata/for-3.16-fixes] libata: introduce ata_host->n_tags
to avoid oops on SAS controllers
On Wednesday, July 23, 2014 12:36:01 PM Tejun Heo wrote:
> Hello,
>
> On Wed, Jul 23, 2014 at 06:31:58PM +0200, Bartlomiej Zolnierkiewicz wrote:
> > Hmmm, wasn't ATA_MAX_QUEUE used before not ATA_MAX_QUEUE - 1?
> >
> > It seems that after your patch the loop in the ata_qc_new() will use
> > only 30 tags and not 31 ones?
>
> It was always 31 (ATA_MAX_QUEUE - 1) with the tag 31 reserved for EH
> commands. The previous patch just used limit value which is one too
> high. I'm planning to change that but this is the way it has always
> been.
I see, thanks for explaining this.
BTW:
/* the last tag is reserved for internal command. */
if (tag == ATA_TAG_INTERNAL)
continue;
in ata_qc_new()'s loop now becomes a dead code (loop will be done
maximum ATA_MAX_QUEUE - 2 times and ATA_TAG_INTERNAL is defined
as ATA_MAX_QUEUE - 1). Compiler can probably optimize it away so
as a bonus of your patch we may get one condition check less in
a hot-path. :)
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists