[PATCH 0/4] Add poll support for hisi_sas v3 hw

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Xiang Chen <chenxiang66@xxxxxxxxxxxxx>

To support IO_URING IOPOLL support for hisi_sas, need to do:
- Add and fill mq_poll interface to poll queue;
- For internal IOs (including internal abort IOs), need to deliver and 
complete them through non-iopoll queue (queue 0);

It only sends internal abort commands to non-poll queue which actually 
requires to send a internal abort command to every queue, so it still has
a risk. Make iopoll support module parameter as "experimental".

I have tested performance on v3 hw with different modes as following, and
it promotes much for 4K READ/WRITE when enabling poll momde:

			4K READ	    4K RANDREAD	    4K WRITE	4K RANDWRITE
interrupt + libaio	1770k	    1316k	    1197k	831k
interrupt + io_uring	1848k	    1390k	    1238k	857k
iopoll + io_uring	2117k	    1364k	    1874k	849k

Xiang Chen (4):
  scsi: hisi_sas: Add function complete_v3_hw()
  scsi: hisi_sas: Add poll support for v3 hw
  scsi: hisi_sas: Sync complete queue for poll queue
  scsi: hisi_sas: Add device attribute experimental_iopoll_q_cnt for v3
    hw

 drivers/scsi/hisi_sas/hisi_sas.h       |   6 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c  |  95 ++++++++++++++++++++++--------
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 102 +++++++++++++++++++++++++++++----
 3 files changed, 167 insertions(+), 36 deletions(-)

-- 
2.8.1




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux