From: Nicholas Bellinger <[email protected]>
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html