linux/drivers/scsi/elx
Dmitry Bogdanov e76b7c5e25 scsi: efct: Decrease area under spinlock
Under the session level spinlock node->active_ios_lock in
efct_scsi_io_alloc() we are taking another spinlock for the port.  This
leads to contention between sessions and even between I/Os in the same
session.

Reduce the locked region to active_ios list for which active_ios_lock is
intended. Spinlock CPU usage decreases from 18% down to 13%. IOPS are
increased from 220 kIOPS to 264 kIOPS for one LUN.

Link: https://lore.kernel.org/r/20210914105539.6942-4-d.bogdanov@yadro.com
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Ram Vegesna <ram.vegesna@broadcom.com>
Signed-off-by: Dmitry Bogdanov <d.bogdanov@yadro.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-09-22 00:04:56 -04:00
..
efct scsi: efct: Decrease area under spinlock 2021-09-22 00:04:56 -04:00
include scsi: elx: libefc_sli: Queue create/destroy/parse routines 2021-06-15 23:39:29 -04:00
libefc scsi: efct: Fix nport free 2021-09-22 00:04:55 -04:00
libefc_sli scsi: elx: libefc_sli: Fix ANDing with zero bit value 2021-06-22 21:07:30 -04:00
Kconfig scsi: elx: efct: Add Makefile and Kconfig for efct driver 2021-06-15 23:39:33 -04:00
Makefile scsi: elx: efct: Add Makefile and Kconfig for efct driver 2021-06-15 23:39:33 -04:00