On 07/26/2013 04:09 AM, Jens Axboe wrote: > On Thu, Jul 25 2013, Nicholas A. Bellinger wrote: >> On Thu, 2013-07-25 at 12:16 +0200, Alexander Gordeev wrote: >>> On Mon, Jul 22, 2013 at 02:10:36PM -0700, Nicholas A. Bellinger wrote: >>>> Np. FYI, you'll want to use the latest commit e7827b351 HEAD from >>>> target-pending/scsi-mq, which now has functioning scsi-generic support. >>> >>> Survives a boot, a kernel build and the build's result :) >> >> Great. Thanks for the feedback Alexander! >> >> So the next step on my end is to enable -mq for ahci, and verify initial >> correctness using QEMU/KVM hardware emulation. >> >> Btw, I've been looking at enabling the SHT->cmd_size for struct >> ata_queued_cmd descriptor pre-allocation, but AFAICT these descriptors >> are already all pre-allocated by libata and obtained via ata_qc_new() -> >> __ata_qc_from_tag() during ata_scsi_queuecmd(). > > Might still not be a bad idea to do it: > > - Cleans up a driver, getting rid of the need to alloc, maintain, and > free those structures. > > - Should be some cache locality benefits to having it all sequential. > >> So that said, with the struct request + struct scsi_cmnd pre-allocations >> already provided by blk-mq -> scsi-mq code, all memory allocations >> should have already been eliminated from I/O fast path. > > Nice! > Hmm. I'm trying to work out if it would be possible to move multipath handling over to scsi-mq. However, when doing so I would need to reconfigure 'nr_hw_queues' on the fly. Now with all the static cmd preallocation going on this is going to be tricky. This leaves me with two choices: - Tear down the command pool altogether whenever I need to reconfigure the device (which is going to be painful) - Allocate some max nr_hw_queues, and mark the superfluous ones as 'unused' or something. Seeing the a sane max nr_hw_queues will be possibly the number of cpus this might end up hogging quite some memory. Would you accept patches moving the static command allocation over to pools or is this a desired feature? Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html