Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

RPMA Version 1.2.0

Compare
Choose a tag to compare
@ldorau ldorau released this 10 Jan 10:19
· 61 commits to main since this release
04315bd

Added

  • native atomic write support (required support in the kernel and in an RNIC's driver)
  • security warnings to the documentation of the following functions of the API:
    • rpma_conn_get_private_data()
    • rpma_conn_req_get_private_data()
    • rpma_mr_get_descriptor()
    • rpma_mr_remote_from_descriptor()
    • rpma_peer_cfg_from_descriptor()
    • rpma_peer_cfg_get_descriptor()
  • offset of the beginning of the used persistent memory in the clients using PMem in the examples
  • one suppression for Memcheck on Ubuntu 22.04
  • CI Coverity build run once a day over the night
  • a check for the native atomic write support in libibverbs
  • internal APIs:
    • rpma_utils_ibv_context_is_atomic_write_capable() - checks if kernel supports native atomic write
  • Rocky Linux 8 and 9 builds to the "on_pull_request" workflow
  • show git diff of changed documentation when pull requests with updated documentation are not generated

Fixed

  • DEVELOPMENT.md file - CMAKE_BUILD_TYPE must be set to Debug when running the tests
  • build system for CentOS 7 (use cmake3 instead of cmake if a version of cmake is v2.x)
  • check-headers.sh file - corrected the path of check-ms-license.pl and removed
    unneeded '*' at the start of the grep expressions
  • (examples) use HELLO_STR_SIZE instead of KILOBYTE in case of the hello string
  • the common_pmem_map_file_with_signature_check() function in examples
  • wr passed to ibv_post_send(), ibv_post_recv() and ibv_post_srq_recv() is initialized to 0
  • sge passed to a log message (in rpma_mr_*() functions) is initialized to 0
  • rq_size in rpma_peer_create_srq() initialized to 0
  • detecting no free slot for a new connection request in example 13
  • memory allocations in example 07
  • minor issues detected by Coverity
  • sleep(1) added to mtt_client_connect() before the next connection retry

Changed

  • the default 'master' branch has been renamed to 'main'
  • logging of the source and the destination GID addresses in rpma_conn_req_new_from_id()
    has been restricted to only one case when CMAKE_BUILD_TYPE is set to 'Debug'
  • rpma_peer_new() to check the native atomic write support in kernel
  • rpma_peer_setup_qp() to enable native atomic write if both kernel and libibverbs supported it
  • rpma_mr_atomic_write() to use native atomic write if the created QP supported it
  • only the labeled (latest/stable/rolling etc.) versions of docker images (if available) are used in CI - it makes the CI self-updating

Removed

  • whole benchmarking framework for librpma (the last commit with the benchmarking framework present is marked with the "benchmarking-framework" tag)
  • unused doc_snippets
  • meaningless template-example
  • meaningless template unit test
  • Debian 10 from the on_pull_request CI workflow