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
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:
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