4b5e5f41c8
Several InfiniBand HCAs allow configuring the completion vector per CQ. This allows spreading the workload created by IB completion interrupts over multiple MSI-X vectors and hence over multiple CPU cores. In other words, configuring the completion vector properly not only allows reducing latency on an initiator connected to multiple SRP targets but also allows improving throughput. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Acked-by: David Dillow <dillowda@ornl.gov> Signed-off-by: Roland Dreier <roland@purestorage.com>
164 lines
6.7 KiB
Plaintext
164 lines
6.7 KiB
Plaintext
What: /sys/class/infiniband_srp/srp-<hca>-<port_number>/add_target
|
|
Date: January 2, 2006
|
|
KernelVersion: 2.6.15
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Interface for making ib_srp connect to a new target.
|
|
One can request ib_srp to connect to a new target by writing
|
|
a comma-separated list of login parameters to this sysfs
|
|
attribute. The supported parameters are:
|
|
* id_ext, a 16-digit hexadecimal number specifying the eight
|
|
byte identifier extension in the 16-byte SRP target port
|
|
identifier. The target port identifier is sent by ib_srp
|
|
to the target in the SRP_LOGIN_REQ request.
|
|
* ioc_guid, a 16-digit hexadecimal number specifying the eight
|
|
byte I/O controller GUID portion of the 16-byte target port
|
|
identifier.
|
|
* dgid, a 32-digit hexadecimal number specifying the
|
|
destination GID.
|
|
* pkey, a four-digit hexadecimal number specifying the
|
|
InfiniBand partition key.
|
|
* service_id, a 16-digit hexadecimal number specifying the
|
|
InfiniBand service ID used to establish communication with
|
|
the SRP target. How to find out the value of the service ID
|
|
is specified in the documentation of the SRP target.
|
|
* max_sect, a decimal number specifying the maximum number of
|
|
512-byte sectors to be transferred via a single SCSI command.
|
|
* max_cmd_per_lun, a decimal number specifying the maximum
|
|
number of outstanding commands for a single LUN.
|
|
* io_class, a hexadecimal number specifying the SRP I/O class.
|
|
Must be either 0xff00 (rev 10) or 0x0100 (rev 16a). The I/O
|
|
class defines the format of the SRP initiator and target
|
|
port identifiers.
|
|
* initiator_ext, a 16-digit hexadecimal number specifying the
|
|
identifier extension portion of the SRP initiator port
|
|
identifier. This data is sent by the initiator to the target
|
|
in the SRP_LOGIN_REQ request.
|
|
* cmd_sg_entries, a number in the range 1..255 that specifies
|
|
the maximum number of data buffer descriptors stored in the
|
|
SRP_CMD information unit itself. With allow_ext_sg=0 the
|
|
parameter cmd_sg_entries defines the maximum S/G list length
|
|
for a single SRP_CMD, and commands whose S/G list length
|
|
exceeds this limit after S/G list collapsing will fail.
|
|
* allow_ext_sg, whether ib_srp is allowed to include a partial
|
|
memory descriptor list in an SRP_CMD instead of the entire
|
|
list. If a partial memory descriptor list has been included
|
|
in an SRP_CMD the remaining memory descriptors are
|
|
communicated from initiator to target via an additional RDMA
|
|
transfer. Setting allow_ext_sg to 1 increases the maximum
|
|
amount of data that can be transferred between initiator and
|
|
target via a single SCSI command. Since not all SRP target
|
|
implementations support partial memory descriptor lists the
|
|
default value for this option is 0.
|
|
* sg_tablesize, a number in the range 1..2048 specifying the
|
|
maximum S/G list length the SCSI layer is allowed to pass to
|
|
ib_srp. Specifying a value that exceeds cmd_sg_entries is
|
|
only safe with partial memory descriptor list support enabled
|
|
(allow_ext_sg=1).
|
|
* comp_vector, a number in the range 0..n-1 specifying the
|
|
MSI-X completion vector. Some HCA's allocate multiple (n)
|
|
MSI-X vectors per HCA port. If the IRQ affinity masks of
|
|
these interrupts have been configured such that each MSI-X
|
|
interrupt is handled by a different CPU then the comp_vector
|
|
parameter can be used to spread the SRP completion workload
|
|
over multiple CPU's.
|
|
|
|
What: /sys/class/infiniband_srp/srp-<hca>-<port_number>/ibdev
|
|
Date: January 2, 2006
|
|
KernelVersion: 2.6.15
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: HCA name (<hca>).
|
|
|
|
What: /sys/class/infiniband_srp/srp-<hca>-<port_number>/port
|
|
Date: January 2, 2006
|
|
KernelVersion: 2.6.15
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: HCA port number (<port_number>).
|
|
|
|
What: /sys/class/scsi_host/host<n>/allow_ext_sg
|
|
Date: May 19, 2011
|
|
KernelVersion: 2.6.39
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Whether ib_srp is allowed to include a partial memory
|
|
descriptor list in an SRP_CMD when communicating with an SRP
|
|
target.
|
|
|
|
What: /sys/class/scsi_host/host<n>/cmd_sg_entries
|
|
Date: May 19, 2011
|
|
KernelVersion: 2.6.39
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Maximum number of data buffer descriptors that may be sent to
|
|
the target in a single SRP_CMD request.
|
|
|
|
What: /sys/class/scsi_host/host<n>/dgid
|
|
Date: June 17, 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: InfiniBand destination GID used for communication with the SRP
|
|
target. Differs from orig_dgid if port redirection has happened.
|
|
|
|
What: /sys/class/scsi_host/host<n>/id_ext
|
|
Date: June 17, 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Eight-byte identifier extension portion of the 16-byte target
|
|
port identifier.
|
|
|
|
What: /sys/class/scsi_host/host<n>/ioc_guid
|
|
Date: June 17, 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Eight-byte I/O controller GUID portion of the 16-byte target
|
|
port identifier.
|
|
|
|
What: /sys/class/scsi_host/host<n>/local_ib_device
|
|
Date: November 29, 2006
|
|
KernelVersion: 2.6.19
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Name of the InfiniBand HCA used for communicating with the
|
|
SRP target.
|
|
|
|
What: /sys/class/scsi_host/host<n>/local_ib_port
|
|
Date: November 29, 2006
|
|
KernelVersion: 2.6.19
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Number of the HCA port used for communicating with the
|
|
SRP target.
|
|
|
|
What: /sys/class/scsi_host/host<n>/orig_dgid
|
|
Date: June 17, 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: InfiniBand destination GID specified in the parameters
|
|
written to the add_target sysfs attribute.
|
|
|
|
What: /sys/class/scsi_host/host<n>/pkey
|
|
Date: June 17, 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: A 16-bit number representing the InfiniBand partition key used
|
|
for communication with the SRP target.
|
|
|
|
What: /sys/class/scsi_host/host<n>/req_lim
|
|
Date: October 20, 2010
|
|
KernelVersion: 2.6.36
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Number of requests ib_srp can send to the target before it has
|
|
to wait for more credits. For more information see also the
|
|
SRP credit algorithm in the SRP specification.
|
|
|
|
What: /sys/class/scsi_host/host<n>/service_id
|
|
Date: June 17, 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: InfiniBand service ID used for establishing communication with
|
|
the SRP target.
|
|
|
|
What: /sys/class/scsi_host/host<n>/zero_req_lim
|
|
Date: September 20, 2006
|
|
KernelVersion: 2.6.18
|
|
Contact: linux-rdma@vger.kernel.org
|
|
Description: Number of times the initiator had to wait before sending a
|
|
request to the target because it ran out of credits. For more
|
|
information see also the SRP credit algorithm in the SRP
|
|
specification.
|