Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756383Ab3G2OJS (ORCPT ); Mon, 29 Jul 2013 10:09:18 -0400 Received: from merlin.infradead.org ([205.233.59.134]:43822 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755800Ab3G2OJQ (ORCPT ); Mon, 29 Jul 2013 10:09:16 -0400 Message-ID: <51F67749.3070606@kernel.dk> Date: Mon, 29 Jul 2013 08:08:09 -0600 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 MIME-Version: 1.0 To: Alexander Gordeev CC: "Nicholas A. Bellinger" , James Bottomley , Mike Christie , Tejun Heo , linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, Jeff Garzik , linux-scsi Subject: Re: [PATCH RESEND 0/1] AHCI: Optimize interrupt processing References: <1374248000.2266.20.camel@dabdike> <1374267684.7397.1058.camel@haakon3.risingtidesystems.com> <1374296162.7397.1098.camel@haakon3.risingtidesystems.com> <20130722150359.GA16564@dhcp-26-207.brq.redhat.com> <1374527436.7397.1145.camel@haakon3.risingtidesystems.com> <20130725101641.GB31994@dhcp-26-207.brq.redhat.com> <1374790082.7397.1411.camel@haakon3.risingtidesystems.com> <20130726020928.GL29296@kernel.dk> <1374873276.7397.1512.camel@haakon3.risingtidesystems.com> <1374885793.7397.1537.camel@haakon3.risingtidesystems.com> <20130729111827.GA14283@dhcp-26-207.brq.redhat.com> In-Reply-To: <20130729111827.GA14283@dhcp-26-207.brq.redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1272 Lines: 32 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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/