Sean Hefty [Sun, 21 Oct 2012 06:43:13 +0000 (23:43 -0700)]
rsocket: Expand definition of target SGE
During connection establishment, rsocket exchanges a
target SGE. The target SGE contains the address, rkey,
and length of the target SGL. The target SGL is the
location where rsocket publishes data buffers at the
remote peer.
The length contained in the target SGE is the number of
entries in the target SGL, which is currently set to 2.
Divide the length field into 3 separate values.
bits 31:16 - reserved
bits 15:8 - use for direct data placement algorithm
bits 7:0 - use for target SGL size
Bits 15 and 7 are used as scaling factors. If set, then
the size specified in the corresponding lower bits is
multiplied by 128.
Backwards compatibility is maintained, since we never use
a value greater than 2 anyway.
Sean Hefty [Sun, 21 Oct 2012 06:43:13 +0000 (23:43 -0700)]
rsocket: Expand definition of target SGE
During connection establishment, rsocket exchanges a
target SGE. The target SGE contains the address, rkey,
and length of the target SGL. The target SGL is the
location where rsocket publishes data buffers at the
remote peer.
The length contained in the target SGE is the number of
entries in the target SGL, which is currently set to 2.
Divide the length field into 3 separate values.
bits 31:16 - reserved
bits 15:8 - use for direct data placement algorithm
bits 7:0 - use for target SGL size
Bits 15 and 7 are used as scaling factors. If set, then
the size specified in the corresponding lower bits is
multiplied by 128.
Backwards compatibility is maintained, since we never use
a value greater than 2 anyway.
Sean Hefty [Sat, 20 Oct 2012 16:19:22 +0000 (09:19 -0700)]
rsocket: Reserve bits in rsocket message
rsockets includes the length of a data transfer in the
immediate data. Currently 29 bits are reserved for the
length, but the maximum transfer is capped at 64K.
For future expansion, limit the length field
to 17 bits and reserve the other 12.
The interpretation of the 17 bits is modified as follows.
The lower 16 bits indicate a length, with the upper bit
indicating a scaling factor. If the upper bit is
0, the scaling factor is 1. The lower 16 bits indicate the
transfer size in bytes. If the upper bit is 1, then a
scaling factor of 64K is applied. The total transfer size is
calculated as (value carried in bits 0-15 + 1) * 64 KB.
This is backwards compatible with the current implementation.
Sean Hefty [Sat, 20 Oct 2012 16:19:22 +0000 (09:19 -0700)]
rsocket: Reserve bits in data transfer message
rsockets includes the length of a data transfer in the
immediate data. Currently 29 bits are reserved for the
length, but the maximum transfer is currently capped
at 64K. For future expansion, limit the length field
to 17 bits and reserve the other 12.
The interpretation of the 17 bits is modified as follows.
The lower 16 bits indicate a length. If the upper bit is
0, then the lower 16 bits indicate a transfer size in bytes.
If the upper bit is 1, the the total transfer size is
calculated as (size carried in bits 0-15 + 1) * 64 KB.
This is backwards compatible with the current implementation,
allows for transfers up to 4 GB, and provides us some
additional bits for future use.
Sean Hefty [Sat, 20 Oct 2012 16:19:22 +0000 (09:19 -0700)]
rsocket: Reserve bits in data transfer message
rsockets includes the length of a data transfer in the
immediate data. Currently 29 bits are reserved for the
length, but the maximum transfer is currently capped
at 64K. For future expansion, limit the length field
to 17 bits and reserve the other 12.
The interpretation of the 17 bits is modified as follows.
The lower 16 bits indicate a length. If the upper bit is
0, then the lower 16 bits indicate a transfer size in bytes.
If the upper bit is 1, the the total transfer size is
calculated as (size carried in bits 0-15 + 1) * 64 KB.
This is backwards compatible with the current implementation,
allows for transfers up to 4 GB, and provides us some
additional bits for future use.
Sean Hefty [Sat, 20 Oct 2012 16:19:22 +0000 (09:19 -0700)]
rsocket: Reserve bits in data transfer message
rsockets includes the length of a data transfer in the
immediate data. Currently 29 bits are reserved for the
length, but the maximum transfer is currently capped
at 64K. For future expansion, limit the length field
to 17 bits and reserve the other 12.
The interpretation of the 17 bits is modified as follows.
The lower 16 bits indicate a length. If the upper bit is
0, then the lower 16 bits indicate a transfer size in bytes.
If the upper bit is 1, the the total transfer size is
calculated as (size carried in bits 0-15 + 1) * 64 KB.
This is backwards compatible with the current implementation,
allows for transfers up to 4 GB, and provides us some
additional bits for future use.
Roland Dreier [Tue, 16 Oct 2012 19:44:39 +0000 (19:44 +0000)]
rdma_xserver/client: Fix man page formatting
Putting 'r' at the beginning of a line in the nroff source for man pages
is confusing to nroff because lines that start with a single quote
character ' or a dot character . are treated as control lines, which is
not what's intended here. Some of the man page text ends up left out of
the formatted output.
Fix this by just wrapping the text slightly differently in the source
(which doesn't matter since nroff reflows the text anyway). Also add a
missing ".TP" so that the -p and -c options are not run together in the
formatted output.
Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Roland Dreier [Tue, 16 Oct 2012 19:44:39 +0000 (19:44 +0000)]
rdma_xserver/client: Fix man page formatting
Putting 'r' at the beginning of a line in the nroff source for man pages
is confusing to nroff because lines that start with a single quote
character ' or a dot character . are treated as control lines, which is
not what's intended here. Some of the man page text ends up left out of
the formatted output.
Fix this by just wrapping the text slightly differently in the source
(which doesn't matter since nroff reflows the text anyway). Also add a
missing ".TP" so that the -p and -c options are not run together in the
formatted output.
Signed-off-by: Roland Dreier <roland@purestorage.com>