lkml.org 
[lkml]   [2014]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH libata/for-3.16-fixes] libata: introduce ata_host->n_tags to avoid oops on SAS controllers
Hello,

On Wed, Jul 23, 2014 at 06:46:05PM +0200, Bartlomiej Zolnierkiewicz wrote:
> On Wednesday, July 23, 2014 12:36:01 PM Tejun Heo wrote:
> 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. :)

ATA_TAG_INTERNAL will soon be replaced by a qc flag so this should all
go away pretty soon. ata_qc_new() is quite badly implemented tho. It
has no reason to do atomic test_and_set_bit() and there are far more
efficient ways to implement what it does. If anybody is interested in
improving it, please go ahead.

Thanks.

--
tejun


\
 
 \ /
  Last update: 2014-07-23 20:01    [W:0.630 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site