[PATCH 0/3] target: Reduce se_device->execute_task_lock contention

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

 



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


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux