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-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html