[PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost
From: Nicholas Bellinger n...@linux-iscsi.org 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost
On Tue, Oct 02, 2012 at 07:15:43AM +, Nicholas A. Bellinger wrote: From: Nicholas Bellinger n...@linux-iscsi.org 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 For the vhost part: ACK series. 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost
This should also grow a patch 5 to unexport transport_generic_map_mem_to_cmd and mark it static. -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html