From: Jialin Wang
Hi,
This patch series attempts to refactor RDMA live migration by
introducing a new QIOChannelRDMA class based on the rsocket API.
The /usr/include/rdma/rsocket.h provides a higher level rsocket API
that is a 1-1 match of the normal kernel 'sockets' API, which hides the
detail
From: Jialin Wang
Signed-off-by: Jialin Wang
Signed-off-by: Gonglei
---
migration/multifd.c | 10 ++
migration/rdma.c| 27 +++
migration/rdma.h| 6 ++
3 files changed, 43 insertions(+)
diff --git a/migration/multifd.c b/migration/multifd.c
index f3
From: Jialin Wang
It is not feasible to obtain RDMA completion queue notifications
through poll/ppoll on the rsocket fd. Therefore, we create a thread
named rpoller for each rsocket fd and two eventfds: pollin_eventfd
and pollout_eventfd.
When using io_create_watch or io_set_aio_fd_handler waits
From: Jialin Wang
Implement a QIOChannelRDMA subclass that is based on the rsocket
API (similar to socket API).
Signed-off-by: Jialin Wang
Signed-off-by: Gonglei
---
include/io/channel-rdma.h | 152 +
io/channel-rdma.c | 437 ++
io/meson
From: Jialin Wang
Signed-off-by: Jialin Wang
Signed-off-by: Gonglei
---
migration/meson.build | 2 +
migration/migration.c | 11 +-
migration/rdma.c | 88 +++
migration/rdma.h | 24
4 files changed, 124 insertions(+), 1 deleti
From: Jialin Wang
Signed-off-by: Jialin Wang
Signed-off-by: Gonglei
---
tests/unit/meson.build| 1 +
tests/unit/test-io-channel-rdma.c | 276 ++
2 files changed, 277 insertions(+)
create mode 100644 tests/unit/test-io-channel-rdma.c
diff --git a/test