On 07/29/2013 05:18 AM, Alexander Gordeev wrote:
>> -static struct ata_queued_cmd *ata_qc_new(struct ata_port *ap)
>> +static struct ata_queued_cmd *ata_qc_new(struct ata_port *ap,
>> +                                        struct scsi_cmnd *sc)
>>  {
>>         struct ata_queued_cmd *qc = NULL;
>> -       unsigned int i;
>> +       struct request *rq = sc->request;
>>  
>>         /* no command while frozen */
>>         if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
>>                 return NULL;
>>  
>> -       /* the last tag is reserved for internal command. */
>> -       for (i = 0; i < ATA_MAX_QUEUE - 1; i++)
> 
> blk-mq does not prevent tag ATA_TAG_INTERNAL from being using. Would it make
> sense to promote queue depth of length (ATA_MAX_QUEUE - 1) while always
> pointing ATA_TAG_INTERNAL to qcmd (see below)?

blk-mq does support a number of reserved tags, information just needs to
be passed in appropriately. So there is support for reserving X number
of error handling / emergency tags.

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to