[openib-general] [ANNOUNCE] Initial checkin of SRP initiator
Roland Dreier
rolandd at cisco.com
Fri Jul 8 22:13:22 PDT 2005
I just checked in a first version of a SCSI RDMA Protocol (SRP)
initiator under infiniband/ulp/srp. Error handling is generously
described as minimal, but normal operation is reasonably solid. The
initiator has been tested against the Topspin/Cisco FC/SRP gateway as
well as another vendor's native IB storage.
The initiator does not do any device management queries to discover
targets in the kernel. Instead, userspace needs to pass in target
information through an add_target file under /sys/class/infiniband_srp/.
See below for an example.
I'll be on vacation Monday through Wednesday of next week, and in
Ottawa for the Kernel Summit and Ottawa Linux Symposium the whole week
after that, but more documentation and better code will appear once
I'm back. In the meantime, please fill my mailbox with feedback.
I'm attaching some (very hacky) python scripts to this email that can
be used as a device management client to discover storage. Just untar
the package and follow the README to use it.
Finally, here's an example SRP in action: I discover a target and then
connect to it and do some I/O. Don't take the performance numbers
seriously, since this is a single old 36 GB drive in a JBOD. I see
_much_ higher numbers talking to a fancy native IB RAID box.
# dmcli -t /sys/class/infiniband/mthca1/ports/1 -d /dev/infiniband/umad1 2
IO Unit Info:
max controllers: 1
controller[ 1]
GUID: 0005ad00000015dd
vendor ID: 0005ad
device ID: 0005ad
ID: Topspin SRP/FC TCA
service entries: 11
service[ 0]: 0000000000000066 / SRP.T10:21000004CF758882
service[ 1]: 0000000000000066 / SRP.T10:21000004CF92BDDA
service[ 2]: 0000000000000066 / SRP.T10:21000004CF92BE07
service[ 3]: 0000000000000066 / SRP.T10:21000004CF92BE12
service[ 4]: 0000000000000066 / SRP.T10:21000004CF92BE15
service[ 5]: 0000000000000066 / SRP.T10:21000004CF92BE24
service[ 6]: 0000000000000066 / SRP.T10:21000004CF92BE33
service[ 7]: 0000000000000066 / SRP.T10:21000004CF92C110
service[ 8]: 0000000000000066 / SRP.T10:21000004CF92C354
service[ 9]: 0000000000000066 / SRP.T10:21000004CF92C360
service[ 10]: 0000000000000066 / SRP.T10:21000004CFE7A949
# modprobe ib_srp
# echo id_ext=21000004CFE7A949,ioc_gguid=0005ad00000015dd,dgid=fe800000000000000005ad00000015dd,pkey=ffff,service_id=0000000000000066 > /sys/class/infiniband_srp/srp-mthca1-1/add_target
# dmesg
[45839.392438] ib_srp: new target: id_ext 21000004cfe7a949 ioc_guid 0005ad00000015dd pkey ffff service_id 0000000000000066 dgid fe80:0000:0000:0000:0005:ad00:0000:15dd
[45839.393309] ib_srp: Topspin/Cisco initiator port ID workaround activated for target GUID 0005ad00000015dd
[45839.393814] ib_srp: REJ received
[45839.393821] ib_srp: Topspin/Cisco redirect to target port GID fe800000000000000005ad0000012371
[45839.394428] ib_srp: Topspin/Cisco initiator port ID workaround activated for target GUID 0005ad00000015dd
[45839.394675] ib_srp: MRA received
[45839.405305] ib_srp: REP received
[45839.405309] req_lim_delta 32
[45839.405311] max_it_iu_len 384
[45839.405312] max_ti_iu_len 128
[45839.405483] scsi2 : SRP.T10:21000004CFE7A949
[45839.420978] Vendor: SEAGATE Model: ST336607FC Rev: 0004
[45839.442096] Type: Direct-Access ANSI SCSI revision: 03
[45839.468006] SCSI device sdb: 71687372 512-byte hdwr sectors (36704 MB)
[45839.490459] SCSI device sdb: drive cache: write through
[45839.508436] SCSI device sdb: 71687372 512-byte hdwr sectors (36704 MB)
[45839.530869] SCSI device sdb: drive cache: write through
[45839.548097] sdb: sdb1 sdb2 sdb3 sdb4
[45839.571821] Attached scsi disk sdb at scsi2, channel 0, id 0, lun 0
# hdparm -tT /dev/sdb
/dev/sdb:
Timing cached reads: 2312 MB in 2.00 seconds = 1156.18 MB/sec
Timing buffered disk reads: 194 MB in 3.02 seconds = 64.16 MB/sec
# mount /dev/sdb1 /mnt
# cd /mnt
# iozone -s 512m -r64 -i0 -i1 Iozone: Performance Test of File I/O
Version $Revision: 3.221 $ Compiled for 32 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million,
Jean-Marc Zucconi, Jeff Blomberg,
Erik Habbinga, Kris Strecker.
Run began: Fri Jul 8 22:05:24 2005
File size set to 524288 KB
Record Size 64 KB
Command line used: iozone -s 512m -r64 -i0 -i1
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
524288 64 46894 52908 27904 28061
- R.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PyOpenIB-1.0.tar.gz
Type: application/x-compressed-tar
Size: 4925 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20050708/3e37162d/attachment.bin>
More information about the general
mailing list