On 04/20/2015 02:33 PM, Sumit.Saxena@xxxxxxxxxxxxx wrote: > megaraid_sas driver will use block layer provided tag for indexing internal MPT frames to get any unique MPT frame tied with tag. > Each IO request submitted from SCSI mid layer will get associated MPT frame from MPT framepool (retrieved and return back using spinlock > inside megaraid_sas driver's submission/completion call back). Getting MPT frame from MPT Frame pool is very expensive operation because > of associated spin lock operation (spinlock overhead increase on multi NUMA node). This type of locking in driver is very expensive > call considering each IO request need - Acquire and Release of the same lock. > > With this support, in IO path driver will directly provide the unique command index(which is based on block layer tag) > and will get the MPT frame tied to the tag and this way driver can get rid off lock, which synchronizes the access to MPT frame pool > while fetching and returning MPT frame from the pool. > > This support in driver provides siginificant performance improvement(on multi NUMA node system)on latest upstream with SCSI.MQ > as well as on existing linux distributions. > Here is the data for test executed at Avago- > - IO Tool- FIO > - 4 Socket SMC server. (4 NUMA node server) > - 12 SSDs in JBOD mode . > - 4K Rand READ, QD=32 > - SCSI MQ x86_64 (Latest Upstream kernel) > - upto 300% Performance Improvement. > > If IOs are running on single Node, perfromance gain is less, but as soon as increase number of nodes, performance improvement > is significant. IOs running on all 4 NUMA nodes, with this patch applied IOPs observed was 1170K vs 344K IOPs seen without this patch. > > Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> > Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> > --- Reviewed-by: Hannes Reinecke <hare@xxxxxxx> 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