From: "熊伟民 " <15927021679@163.com>
To: "Leon Romanovsky" <leon@kernel.org>
Cc: "Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"David S . Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"John Fastabend" <john.fastabend@gmail.com>,
"Stanislav Fomichev" <sdf@fomichev.me>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re:Re: Implement initial driver for virtio-RDMA devices(kernel), virtio-rdma device model(qemu) and vhost-user-RDMA backend device(dpdk)
Date: Fri, 19 Dec 2025 10:26:41 +0800 (CST) [thread overview]
Message-ID: <4701065a.4aa9.19b346e492d.Coremail.15927021679@163.com> (raw)
In-Reply-To: <20251218162028.GG400630@unreal>
At 2025-12-19 00:20:28, "Leon Romanovsky" <leon@kernel.org> wrote:
>On Wed, Dec 17, 2025 at 04:49:47PM +0800, Xiong Weimin wrote:
>> Hi all,
>>
>> This testing instructions aims to introduce an emulating a soft ROCE
>> device with normal NIC(no RDMA).
>
>What is it? We already have one soft RoCE device implemented in the
>kernel (drivers/infiniband/sw/rxe), which doesn't require any QEMU
>changes at all.
>
>Thanks
>
The framwork of vhost_user_rdma(dpdk)/virtio-rdma driver(kernel) is actually
a userspace RDMA backend optimized for virtualization, while rxe (Soft-RoCE)
is a kernel-based software RDMA implementation. Key advantages include:
1. Zero-Copy Architecture: vhost_user_rdma uses shared memory between VMs and
host processes, eliminating data copies.rxe requires kernel-mediated data copies,
adding latency.
2. Polling Mode: Avoids VM-Exit interrupts by using busy-wait polling, reducing
CPU context switches.
3. QEMU/KVM Native Support: vhost_user_rdma integrates directly with hypervisors
via vhost-user protocol.rxe requires PCI device passthrough ( e.g., VFIO),
complicating deployment.
4. Features Support: vhost_user_rdma enables live migration, multi-queue virtio,
and NUMA-aware I/O processing.
5. Userspace Processing: Operates entirely in userspace ( e.g., with SPDK), bypassing
the kernel network stack. rxe relies on the Linux kernel network stack, consuming more
CPU resources.
6. Resource Efficiency: Achieves lower latency in benchmarks for VM-to-VM communication.
7. vhost-user Backend: DPDK provides a vhost-user library that implements the vhost-user
protocol in userspace. This library enables efficient communication between the hypervisor
(QEMU) and the userspace networking stack (like a DPDK-based application). For RDMA, this
means that the vhost-user backend can directly handle RDMA operations without going through
the kernel.
Thanks
prev parent reply other threads:[~2025-12-19 2:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-17 8:49 Implement initial driver for virtio-RDMA devices(kernel), virtio-rdma device model(qemu) and vhost-user-RDMA backend device(dpdk) Xiong Weimin
2025-12-17 8:49 ` [PATCH 01/14] examples/vhost_user_rdma: implement core application initialization for supporting vhost_user_rdma device Xiong Weimin
2025-12-17 8:49 ` [PATCH] hw/rdma: Implement vhost-user RDMA device with PCI support Xiong Weimin
2025-12-17 8:49 ` [PATCH 02/14] examples/vhost_user_rdma: implement device and port query commands Xiong Weimin
2025-12-17 8:49 ` [PATCH 03/14] examples/vhost_user_rdma: implement create and destroy completion queue commands Xiong Weimin
2025-12-17 8:49 ` [PATCH 04/14] examples/vhost_user_rdma: implement protection domain create/destroy commands Xiong Weimin
2025-12-17 8:49 ` [PATCH 05/14] examples/vhost_user_rdma: implement comprehensive memory region management Xiong Weimin
2025-12-17 8:49 ` [PATCH 06/14] examples/vhost_user_rdma: implement comprehensive queue pair lifecycle management Xiong Weimin
2025-12-17 8:49 ` [PATCH 07/14] examples/vhost_user_rdma: Implement high-performance requester engine with advanced flow control Xiong Weimin
2025-12-17 8:49 ` [PATCH 08/14] examples/vhost_user_rdma: implement advanced completer engine with reliability features Xiong Weimin
2025-12-17 8:49 ` [PATCH 09/14] examples/vhost_user_rdma: implement P_Key query operation with default partition key Xiong Weimin
2025-12-18 16:20 ` Implement initial driver for virtio-RDMA devices(kernel), virtio-rdma device model(qemu) and vhost-user-RDMA backend device(dpdk) Leon Romanovsky
2025-12-19 2:26 ` 熊伟民 [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4701065a.4aa9.19b346e492d.Coremail.15927021679@163.com \
--to=15927021679@163.com \
--cc=ast@kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=hawk@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sdf@fomichev.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox