RE: [PATCH 4/7] [SCSI] scst: Add SRP target driver

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

 



> 
> This patch adds the kernel module ib_srpt, which is a SCSI RDMA Protocol
(SRP)
> target implementation. This driver uses the InfiniBand stack and the SCST
core.
> 
> It is a high performance driver capable of handling 600K+ 4K random write
> IOPS by a single target as well as 2.5+ GB/s sequential throughput over
> a single QDR IB port.
> 
> This driver was originally developed by Vu Pham (Mellanox) and has been
> optimized by Bart Van Assche.
> 
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
> Signed-off-by: Vladislav Bolkhovitin <vst@xxxxxxxx>
> Cc: Vu Pham <vu@xxxxxxxxxxxx>
> Cc: Roland Dreier <rdreier@xxxxxxxxx>
> Cc: David Dillow <dillowda@xxxxxxxx>
> ---
>  Documentation/scst/README.srpt |  112 ++
>  drivers/scst/Kconfig           |    1 +
>  drivers/scst/Makefile          |    2 +-
>  drivers/scst/srpt/Kconfig      |   12 +
>  drivers/scst/srpt/Makefile     |    1 +
>  drivers/scst/srpt/ib_dm_mad.h  |  139 ++
>  drivers/scst/srpt/ib_srpt.c    | 3613
> ++++++++++++++++++++++++++++++++++++++++
>  drivers/scst/srpt/ib_srpt.h    |  352 ++++
>  8 files changed, 4231 insertions(+), 1 deletions(-)
>  create mode 100644 Documentation/scst/README.srpt
>  create mode 100644 drivers/scst/srpt/Kconfig
>  create mode 100644 drivers/scst/srpt/Makefile
>  create mode 100644 drivers/scst/srpt/ib_dm_mad.h
>  create mode 100644 drivers/scst/srpt/ib_srpt.c
>  create mode 100644 drivers/scst/srpt/ib_srpt.h
> 
> diff --git a/Documentation/scst/README.srpt
> b/Documentation/scst/README.srpt
> new file mode 100644
> index 0000000..6f8b3ca
> --- /dev/null
> +++ b/Documentation/scst/README.srpt
> @@ -0,0 +1,112 @@
> +SCSI RDMA Protocol (SRP) Target driver for Linux
> +=================================================
> +
> +The SRP Target driver is designed to work directly on top of the
> +OpenFabrics OFED-1.x software stack (http://www.openfabrics.org) or
> +the Infiniband drivers in the Linux kernel tree
> +(http://www.kernel.org). The SRP target driver also interfaces with
> +the generic SCSI target mid-level driver called SCST
> +(http://scst.sourceforge.net).
> +
> +How-to run
> +-----------
> +
> +A. On srp target machine
> +1. Please refer to SCST's README for loading scst driver and its
> +dev_handlers drivers (scst_disk, scst_vdisk block or file IO mode,
> nullio, ...)
> +
> +Example 1: working with real back-end scsi disks
> +a. modprobe scst
> +b. modprobe scst_disk
> +c. cat /proc/scsi_tgt/scsi_tgt
> +
> +ibstor00:~ # cat /proc/scsi_tgt/scsi_tgt
> +Device (host:ch:id:lun or name)                             Device
handler
> +0:0:0:0                                                     dev_disk
> +4:0:0:0                                                     dev_disk
> +5:0:0:0                                                     dev_disk
> +6:0:0:0                                                     dev_disk
> +7:0:0:0                                                     dev_disk
> +
> +Now you want to exclude the first scsi disk and expose the last 4 scsi
disks
> as
> +IB/SRP luns for I/O
> +echo "add 4:0:0:0 0" >/proc/scsi_tgt/groups/Default/devices
> +echo "add 5:0:0:0 1" >/proc/scsi_tgt/groups/Default/devices
> +echo "add 6:0:0:0 2" >/proc/scsi_tgt/groups/Default/devices
> +echo "add 7:0:0:0 3" >/proc/scsi_tgt/groups/Default/devices
> +
> +Example 2: working with VDISK FILEIO mode (using md0 device and file
10G-file)
> +a. modprobe scst
> +b. modprobe scst_vdisk
> +c. echo "open vdisk0 /dev/md0" > /proc/scsi_tgt/vdisk/vdisk
> +d. echo "open vdisk1 /10G-file" > /proc/scsi_tgt/vdisk/vdisk
> +e. echo "add vdisk0 0" >/proc/scsi_tgt/groups/Default/devices
> +f. echo "add vdisk1 1" >/proc/scsi_tgt/groups/Default/devices
> +
> +Example 3: working with VDISK BLOCKIO mode (using md0 device, sda, and
> cciss/c1d0)
> +a. modprobe scst
> +b. modprobe scst_vdisk
> +c. echo "open vdisk0 /dev/md0 BLOCKIO" > /proc/scsi_tgt/vdisk/vdisk
> +d. echo "open vdisk1 /dev/sda BLOCKIO" > /proc/scsi_tgt/vdisk/vdisk
> +e. echo "open vdisk2 /dev/cciss/c1d0 BLOCKIO" >
/proc/scsi_tgt/vdisk/vdisk
> +f. echo "add vdisk0 0" >/proc/scsi_tgt/groups/Default/devices
> +g. echo "add vdisk1 1" >/proc/scsi_tgt/groups/Default/devices
> +h. echo "add vdisk2 2" >/proc/scsi_tgt/groups/Default/devices
> +

[Jack] This README looks should update to new sysfs interface too.


--
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