[PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost

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

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Hi hch & Co,

This series adds a new target_submit_cmd_map_mem() caller to accept
pre-allocated SGL memory within the core generic I/O submission path.
Patch #1 contains the core I/O changes, patch #2 + #4 includes the
conversion of tcm_loop+tcm_vhost to use this new caller -> drop their
internal open-coded equivalents using transport_generic_map_mem_to_cmd().

Patch #3 carries forward a work-around for tcm_loop w/ scsi-generic with
user-space code that does not zero out it's READ payload buffer + ends
up passing a payload filled with random data into target core's control CDB
emulation.  Since we're not using bounce buffers any more for control
CDB emulation in modern v3.x code, AFAICT tcm_loop still requires this
extra bit to function properly with some legacy user-space code.

Regardless, the main I/O path changes end up being very mechnical in
nature for existing core and fabric code, and has been running as expected
with fio small-block workloads last hours.

Please review.

Thanks Christoph!

--nab

Nicholas Bellinger (4):
  target: Add target_submit_cmd_map_mem for SGL fabric memory
    passthrough
  tcm_loop: Convert I/O path to use target_submit_cmd_map_mem
  target: Add TARGET_SCF_MAP_CLEAR_MEM work-around for tcm_loop
  tcm_vhost: Convert I/O path to use target_submit_cmd_map_mem

 drivers/target/loopback/tcm_loop.c     |   62 ++-------------
 drivers/target/target_core_transport.c |  129 ++++++++++++++++++++++++++------
 drivers/vhost/tcm_vhost.c              |   68 ++++-------------
 drivers/vhost/tcm_vhost.h              |    8 ++
 include/target/target_core_base.h      |    2 +
 include/target/target_core_fabric.h    |    3 +
 6 files changed, 141 insertions(+), 131 deletions(-)

-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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