]> git.openfabrics.org - ~shefty/librdmacm.git/commit
rsockets: Delay initializing buffers until the inline size is known
authorSean Hefty <sean.hefty@intel.com>
Fri, 29 May 2015 18:24:26 +0000 (11:24 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 29 May 2015 18:24:26 +0000 (11:24 -0700)
commit6384ce80e0ff710e4fe24a782cdd6069afc13435
treeba0e63b777474cf9c3176c7ae793e229dbdff16f
parent2b2aad809afc56fa3157f5cf99036f92b9c90f16
rsockets: Delay initializing buffers until the inline size is known

The qib HCA ignores the requested max_inline_size on input and
instead returns the supported value on output.  As a result,
the default inline size requested by rsockets is ignored, with 0
being returned.  The code catches this after it creates the QP, but
has already initialized its data buffers prior to creating the QP.

The result is that the inline size used in rs_init_bufs() is larger
than that supported by the qib device.  This causes a failure when
attempting to update available receive buffer space.  The registered
data buffer for the credit message is smaller than what is needed.

Work-around this issue by delaying the initialization of the data
buffers until after the QP has been created and the real size of
the inline data is known.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
src/rsocket.c