The Linux Kernel Mailing List
 help / color / mirror / Atom feed
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 








      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