Skip to content

AccelIO v1.4 GA

Compare
Choose a tag to compare
@katyakats katyakats released this 03 Jun 14:21
· 177 commits to master since this release

New Features:

  1. Reconnect (beta). This feature allows detection and recovery from connection failure.
    Configuration manual: https://community.mellanox.com/docs/DOC-2158
  2. Tasks pools are now created per context basis substantially reducing memory allocation and registration

Changes:

  1. Add hello_lat test for kernel
  2. Add option for cpu bind for kernel tests
  3. API change:
    a. one consistent API for memory allocation/registration and memory pooling. registered memory returned in single type xio_reg_mem
    b. xio_context_create method now receives xio_context_params structure
    c. XIO_OPTNAME_MAX_INLINE_DATA was renamed to XIO_OPTNAME_MAX_INLINE_XIO_DATA and XIO_OPTNAME_MAX_INLINE_HEADER was renamed to XIO_OPTNAME_MAX_INLINE_XIO_HEADER.
    d. The following xio_msg_flag XIO_MSG_FLAG_SMALL_ZERO_COPY was deprecated. It is splitted into 2 flags:
    i. XIO_MSG_FLAG_PEER_WRITE_RSP
    ii. XIO_MSG_FLAG_PEER_READ_REQ
  4. Kernel latency was improved by adding polling mechanism.
  5. Add an option to change the default max_inline_data
  6. Add option for memory allocation before process start
  7. Add new functions:
    a. xio_version - returns the current version of accelio in the form "accelio_v1.3-rc3-0-gb69a343"
    b. xio_context_poll_wait - poll for events for a specified (possibly infinite) amount of time
    c. xio_context_poll_events - poll for events using direct access to the event signaling resources
    d. xio_connection_ioctl - enable query connection’s runtime parameters such as credits

Bug Fixes:

  1. Session removed teardown work from inside the work function preventing kernel crash.
  2. cm_rejected comes after cm_established event causing crash
  3. flushing tasks before closing the transport
  4. protect server session teardown when session is destructed while connections are still trying to connect
  5. In case ctx of last connection in session was destroyed before session_destroy, calling session_destroy resulted in dangling pointer
  6. protect against both notification of connection "disconnect" and "close"
  7. protect against NULL verbs that is returned from rdmacm
  8. xio_mem_register/xio_mem_alloc failed on hosts with installed rdma stack and without installed rdma capable HCAs
  9. xio_context_run_loop which run with timeout, exits long time after timeout passed
  10. sending a beacon was not completed leaving xio's rdma_handle in positive reference count

Known issues:

  1. Accelio kernel: occasionally when sending response of size 8K-10K using rdma transport there is IB_WC_REM_INV_REQ_ERR error and the response is not being sent

System Requirements

Driver stack:

  • Inbox Infiniband stack
  • MLNX_OFED 3.0/2.4

User Space Operating system:

  • RHEL 6.4, and up
  • Ubuntu 12.04 and up

Kernel Module:

  • Linux Kernel 3.13 and up

Tested RDMA NICs:

  • Mellanox ConnectX-3
  • Mellanox ConnectX-3 Pro
  • Mellanox ConnectIB