Re: [PATCH 3/3] tcm ibmvscsis driver

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

 



On Mon, 14 Feb 2011 01:01:12 -0800
"Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx> wrote:

> > btw, can we kill the non scatter/gather data path? I think that we
> > should always use the scatter/gather data transfer.
> 
> Unfortuately it's not that easy.  The main reason why CDB type
> SCF_SCSI_CONTROL_NONSG_IO_CDB was originally added (back in 2.2/2.4
> days) was because certain LLDs had a problem with basic control CDBs
> using SGLs..
> 
> Obviously we are way past that point with drivers/scsi today, but the
> main reason today why SCF_SCSI_CONTROL_NONSG_IO_CDB still exists is
> because of CDB emulation for complex stuff in target_core_cdb.c.  It has
> historically proven much easier to code complex CDB emulation using a
> contigious buffer, than with walking SGL formatted memory.
> 
> Converting over the more complex CDB emulation stuff to SGLs would
> somewhat painful, at least without adding an extra location allocation +
> copy into SGLs (not a big deal for CONTROL CDB stuff),

lib/scatterlist.c provides nice helper functions to copy data between
a linear buffer and an SG list. I think that at least, it's more clear
than now.


> or something else
> to obtain a virtually contigious buffer for building the emulated
> response.

Hmm, I don't think that very large contiguous buffer for CONTROL CDB
so why can't we allocate a physically contiguous buffer for it?

We could play with vmap for a virtually contiguous buffer but it adds
the complicated cache issue so I don't like that.
--
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