linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost
@ 2012-10-02  7:15 Nicholas A. Bellinger
  2012-10-02  7:15 ` [PATCH 1/4] target: Add target_submit_cmd_map_mem for SGL fabric memory passthrough Nicholas A. Bellinger
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Nicholas A. Bellinger @ 2012-10-02  7:15 UTC (permalink / raw)
  To: target-devel
  Cc: linux-scsi, Christoph Hellwig, Paolo Bonzini, Michael S. Tsirkin,
	Stefan Hajnoczi, Nicholas Bellinger

From: Nicholas Bellinger <nab@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


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-10-02 20:49 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-02  7:15 [PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost Nicholas A. Bellinger
2012-10-02  7:15 ` [PATCH 1/4] target: Add target_submit_cmd_map_mem for SGL fabric memory passthrough Nicholas A. Bellinger
2012-10-02 15:17   ` Christoph Hellwig
2012-10-02 20:49     ` Nicholas A. Bellinger
2012-10-02  7:15 ` [PATCH 2/4] tcm_loop: Convert I/O path to use target_submit_cmd_map_mem Nicholas A. Bellinger
2012-10-02 15:18   ` Christoph Hellwig
2012-10-02  7:15 ` [PATCH 3/4] target: Add TARGET_SCF_MAP_CLEAR_MEM work-around for tcm_loop Nicholas A. Bellinger
2012-10-02 15:21   ` Christoph Hellwig
2012-10-02  7:15 ` [PATCH 4/4] tcm_vhost: Convert I/O path to use target_submit_cmd_map_mem Nicholas A. Bellinger
2012-10-02 12:46   ` Michael S. Tsirkin
2012-10-02 15:00 ` [PATCH 0/4] target: Add target_submit_cmd_map_mem and convert tcm_loop+tcm_vhost Michael S. Tsirkin
2012-10-02 15:22 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).