Skip to content

Commit

Permalink
update version to 0.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
GTwhy committed Sep 7, 2022
1 parent 0e4472a commit 0f3c92b
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ keywords = ["rdma", "network"]
license-file = "LICENSE"
name = "async-rdma"
repository = "https://github.com/datenlord/async-rdma"
version = "0.3.0"
version = "0.4.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
Expand Down
39 changes: 39 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,44 @@
# ChangeLog

## 0.4.0

In this release, we add some APIs to make it easier to establish connections and
provide more configurable options.

We provide support for sending/receiving raw data and allocating raw memory region
to enable users to implement the upper layer protocol or memory pool by themselves.

APIs for supporting multi-connection can be used to easily establish multiple connections
with more than one remote end and reuse resources.

### New features

* Adapt RDMA CM APIs. Add `cm_connect` to establish connection with CM Server.
Add `{send/recv}_raw` APIs to send/recv raw data without the help of agent.
* Add APIs to set attributes of queue pair like `set_max_{send/recv}_{sge/wr}`.
* Add APIs for `RdmaBuilder` to establish connections conveniently.
* Add APIs to alloc raw mr. Sometimes users want to setup memory pool by themselves
instead of using `Jemalloc` to manage mrs. So we define two strategies.
* Add APIs to alloc mrs with different accesses and protection domains from `Jemalloc`.
`MrAllocator` will create a new arena when we alloc mr with not the default access and pd.
* Add access API for mrs to query access.
* Support multi-connection APIs. Add APIs for `Rdma` to create a new `Rdma` that has the
same `mr_allocator` and `event_listener` as parent.
* Add `RemoteMr` access control. Add `set_max_rmr_access` API to set the maximum permission on
`RemoteMr` that the remote end can request.

### Optimizations and refactors

* Use submodule to setup CI environment.
* Reorganize some attributes to avoid too many arguments.
* Update examples. Replace unsafe blocks and add more comments. Show more APIs.

### Bug fixes

* Disable `tcache` of `Jemalloc` as default. `tcache` is a feature of `Jemalloc` to speed up
memory allocation. However `Jemalloc` may alloc `MR` with wrong `arena_index` from `tcache`
when we create more than one `Jemalloc` enabled `mr_allocator`s. So we disable `tcache` by default.

## 0.3.0

In this release, we adapted `Jemalloc` to manage RDMA memory region to improve memory
Expand Down

0 comments on commit 0f3c92b

Please sign in to comment.