This patchset removes se_session sess_cmd_lock for every driver but tcm qla2xxx and moves the se_device execution lock to per CPU so we can run submissions from multiple CPUs without hammering on those locks. With the patches I'm seeing a 25% improvement in IOPs for small IO tests like: fio --filename=/dev/sdXYZ --direct=1 --rw=randrw --bs=4k \ --iodepth=128 --numjobs=16 I'm sending this as RFC, because the qla2xxx patches are not tested and I'm hoping we can maybe just remove the session locking/list from that driver since it's only used to lookup commands for aborts when a specific model is used. The following patches are made over Linus's tree. Some of Martin's branches are missing: commit 149415586243bd0ea729760fb6dd7b3c50601871 Author: Sudhakar Panneerselvam <sudhakar.panneerselvam@xxxxxxxxxx> Date: Wed Sep 16 23:54:31 2020 +0000 scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case