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

2012-10-02 Thread Nicholas A. Bellinger
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

2012-10-02 Thread Michael S. Tsirkin
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

2012-10-02 Thread Christoph Hellwig
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