Thread (70 messages) 70 messages, 11 authors, 2014-09-13

Re: [PATCH RESEND 0/1] AHCI: Optimize interrupt processing

From: Jens Axboe <axboe@kernel.dk>
Date: 2013-08-09 14:26:07
Also in: linux-scsi, lkml

On 08/09/2013 02:23 AM, Alexander Gordeev wrote:
quoted hunk ↗ jump to hunk
On Mon, Jul 29, 2013 at 07:46:53AM -0400, Tejun Heo wrote:
quoted
One thing which would probably be worthwhile tho is getting rid of the
bitmap based qc tag allocator in libata.  That one is just borderline
stupid to keep around on any setup which is supposed to be scalable.
Hi Tejun,

How about this approach?
@@ -5639,6 +5627,12 @@ struct ata_port *ata_port_alloc(struct ata_host *host)
 	if (!ap)
 		return NULL;
 
+	ap->qc_tags = blk_mq_init_tags(ATA_MAX_QUEUE, 1, NUMA_NO_NODE);
+	if (!ap->qc_tags) {
+		kfree(ap);
+		return NULL;
+	}
This should be blk_mq_init_tags(ATA_MAX_QUEUE - 1, 1, ...) since the
total depth is normal_tags + reserved_tags. Apart from that, I think it
looks alright based on a cursory look.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help