Hi Martin, This patch series implements the following two changes for all SCSI drivers: - Use blk_mq_rq_from_pdu() instead of the request member of struct scsi_cmnd since adding an offset to a pointer is faster than pointer indirection. - Remove the request pointer from struct scsi_cmnd. Please consider this patch series for kernel v5.14. Thanks, Bart. Bart Van Assche (50): core: Introduce the blk_req() function core: Use blk_req() instead of scsi_cmnd.request sd: Use blk_req() instead of scsi_cmnd.request sr: Use blk_req() instead of scsi_cmnd.request scsi_transport_fc: Use blk_req() instead of scsi_cmnd.request scsi_transport_spi: Use blk_req() instead of scsi_cmnd.request ata: Use blk_req() instead of scsi_cmnd.request rdma/iser: Use blk_req() instead of scsi_cmnd.request rdma/srp: Use blk_req() instead of scsi_cmnd.request zfcp: Use blk_req() instead of scsi_cmnd.request 53c700: Use blk_req() instead of scsi_cmnd.request NCR5380: Use blk_req() instead of scsi_cmnd.request aacraid: Use blk_req() instead of scsi_cmnd.request advansys: Use blk_req() instead of scsi_cmnd.request bnx2i: Use blk_req() instead of scsi_cmnd.request csiostor: Use blk_req() instead of scsi_cmnd.request cxlflash: Use blk_req() instead of scsi_cmnd.request dpt_i2o: Use blk_req() instead of scsi_cmnd.request fnic: Use blk_req() instead of scsi_cmnd.request hisi_sas: Use blk_req() instead of scsi_cmnd.request hpsa: Use blk_req() instead of scsi_cmnd.request ibmvfc: Use blk_req() instead of scsi_cmnd.request ibmvscsi: Use blk_req() instead of scsi_cmnd.request ips: Use blk_req() instead of scsi_cmnd.request libsas: Use blk_req() instead of scsi_cmnd.request lpfc: Use blk_req() instead of scsi_cmnd.request megaraid: Use blk_req() instead of scsi_cmnd.request mpt3sas: Use blk_req() instead of scsi_cmnd.request mvumi: Use blk_req() instead of scsi_cmnd.request myrb: Use blk_req() instead of scsi_cmnd.request myrs: Use blk_req() instead of scsi_cmnd.request ncr53c8xx: Use blk_req() instead of scsi_cmnd.request qedf: Use blk_req() instead of scsi_cmnd.request qedi: Use blk_req() instead of scsi_cmnd.request qla1280: Use blk_req() instead of scsi_cmnd.request qla2xxx: Use blk_req() instead of scsi_cmnd.request qla4xxx: Use blk_req() instead of scsi_cmnd.request qlogicpti: Use blk_req() instead of scsi_cmnd.request scsi_debug: Use blk_req() instead of scsi_cmnd.request smartpqi: Use blk_req() instead of scsi_cmnd.request snic: Use blk_req() instead of scsi_cmnd.request stex: Use blk_req() instead of scsi_cmnd.request sun3_scsi: Use blk_req() instead of scsi_cmnd.request sym53c8xx: Use blk_req() instead of scsi_cmnd.request ufs: Use blk_req() instead of scsi_cmnd.request virtio_scsi: Use blk_req() instead of scsi_cmnd.request xen-scsifront: Use blk_req() instead of scsi_cmnd.request tcm_loop: Use blk_req() instead of scsi_cmnd.request usb-storage: Use blk_req() instead of scsi_cmnd.request core: Remove the request member from struct scsi_cmnd drivers/ata/libata-eh.c | 5 +- drivers/ata/libata-scsi.c | 10 ++-- drivers/infiniband/ulp/iser/iser_memory.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 6 +- drivers/s390/scsi/zfcp_fsf.c | 2 +- drivers/scsi/53c700.c | 2 +- drivers/scsi/NCR5380.c | 6 +- drivers/scsi/aacraid/aachba.c | 2 +- drivers/scsi/aacraid/commsup.c | 2 +- drivers/scsi/advansys.c | 4 +- drivers/scsi/bnx2i/bnx2i_hwi.c | 2 +- drivers/scsi/csiostor/csio_scsi.c | 6 +- drivers/scsi/cxlflash/main.c | 2 +- drivers/scsi/dpt_i2o.c | 4 +- drivers/scsi/fnic/fnic_scsi.c | 40 ++++++------- drivers/scsi/hisi_sas/hisi_sas_main.c | 4 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +- drivers/scsi/hpsa.c | 6 +- drivers/scsi/ibmvscsi/ibmvfc.c | 2 +- drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +- drivers/scsi/ips.c | 2 +- drivers/scsi/libsas/sas_ata.c | 2 +- drivers/scsi/libsas/sas_scsi_host.c | 2 +- drivers/scsi/lpfc/lpfc_scsi.c | 63 ++++++++++----------- drivers/scsi/megaraid/megaraid_sas_base.c | 4 +- drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 ++-- drivers/scsi/mpt3sas/mpt3sas_base.c | 4 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 6 +- drivers/scsi/mvumi.c | 2 +- drivers/scsi/myrb.c | 10 ++-- drivers/scsi/myrs.c | 10 ++-- drivers/scsi/ncr53c8xx.c | 4 +- drivers/scsi/qedf/qedf_io.c | 8 +-- drivers/scsi/qedi/qedi_fw.c | 9 +-- drivers/scsi/qla1280.c | 6 +- drivers/scsi/qla2xxx/qla_os.c | 4 +- drivers/scsi/qla4xxx/ql4_iocb.c | 2 +- drivers/scsi/qla4xxx/ql4_os.c | 4 +- drivers/scsi/qlogicpti.c | 2 +- drivers/scsi/scsi.c | 2 +- drivers/scsi/scsi_debug.c | 13 +++-- drivers/scsi/scsi_error.c | 15 +++-- drivers/scsi/scsi_lib.c | 27 +++++---- drivers/scsi/scsi_logging.c | 18 +++--- drivers/scsi/scsi_transport_fc.c | 2 +- drivers/scsi/scsi_transport_spi.c | 2 +- drivers/scsi/sd.c | 32 +++++------ drivers/scsi/sd_zbc.c | 10 ++-- drivers/scsi/smartpqi/smartpqi_init.c | 4 +- drivers/scsi/snic/snic_scsi.c | 10 ++-- drivers/scsi/sr.c | 10 ++-- drivers/scsi/stex.c | 6 +- drivers/scsi/sun3_scsi.c | 2 +- drivers/scsi/sym53c8xx_2/sym_glue.c | 4 +- drivers/scsi/ufs/ufshcd.c | 22 +++---- drivers/scsi/virtio_scsi.c | 4 +- drivers/scsi/xen-scsifront.c | 2 +- drivers/target/loopback/tcm_loop.c | 4 +- drivers/usb/storage/transport.c | 2 +- include/scsi/scsi_cmnd.h | 13 +++-- include/scsi/scsi_device.h | 16 +++--- 61 files changed, 239 insertions(+), 246 deletions(-)