From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Hi folks, This series attempts to reduce se_device->execute_task_lock contention between qla2xxx (fabric) wq context for task execution of READs with target_submit_cmd() vs. transport_processing_thread() context usage for pending WRITEs with __transport_execute_tasks(). It also no longer attempts to drain ->execute_task_list queue while processing each se_cmd descriptor in transport_processing_thread() context, which also appears to have a minor positive effect on small I/O block performance with qla2xxx LUNs With qla2xxx fabric ports and raw block flash backends + manual IRQ affinity, it appears to save a few extra percent of cpu per qla2xxx wq process context vs. transport_processing_thread() with mixed random 4k workloads from what I can tell with perf and fio testing. So far this has been running with qla2xxx + loopback LUNs, but still needs to test with other fabrics and heavy active I/O shutdown. Thanks, Cc: Christoph Hellwig <hch@xxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Nicholas Bellinger (3): target: Remove extra se_device->execute_task_lock access in fast path target: Remove __transport_execute_tasks() for each processing context target: Remove legacy device status check from transport_execute_tasks drivers/target/target_core_transport.c | 51 +++++++++++++++----------------- 1 files changed, 24 insertions(+), 27 deletions(-) -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html