Hi James/Martin, This is RFC to get comment about propose poll_queue interface in scsi layer. The blk_mq layer allows polling a transport for a specific completion if the HIPRI request flag is set. This can be accomplished by using "libengine=pvsync2 –hipri" option in FIO tool. This flag then allows polling into LLDD to service specific compeletion queue for IOs. It also removes the interrupt latency and significantly improved performance in NVMeF that utilizes it. There is expense of higher CPU utlization due to active polling. Here's sample results for comparision FiO command line with synchronous IO’s results in latency avg=32.73us reported by FIO ./fio/fio --time_based --ioengine=sync --direct=1 --runtime=30 --readwrite=read \ --iodepth=1 --blocksize=4k --name=job0 --group_reporting --filename=/dev/sdd FIO command line with active polling IO’s results in latency avg=26.04 reported by FIO ./fio/fio --time_based --ioengine=pvsync2 --hipri --direct=1 --runtime=30 \ --readwrite=read --iodepth=1 --blocksize=4k --name=job0 --group_reporting \ --filename=/dev/sdd FIO version 2.17 Thanks, Himanshu Darren Trapp (2): scsi: Provide mechanism for SCSI layer to poll for LLDD. qla2xxx: Driver changes to use new poll_queue() callback drivers/scsi/qla2xxx/qla_os.c | 36 ++++++++++++++++++++++++++++++++++++ drivers/scsi/scsi_lib.c | 39 +++++++++++++++++++++++++++++++++++++++ include/scsi/scsi_host.h | 12 ++++++++++++ 3 files changed, 87 insertions(+) -- 2.12.0