On Thu, Nov 21, 2019 at 09:44:38AM -0400, Jason Gunthorpe wrote: > On Wed, Nov 20, 2019 at 11:24:03PM -0500, Michael S. Tsirkin wrote: > > On Wed, Nov 20, 2019 at 11:03:57PM -0400, Jason Gunthorpe wrote: > > > Frankly, when I look at what this virtio stuff is doing I see RDMA: > > > - Both have a secure BAR pages for mmaping to userspace (or VM) > > > - Both are prevented from interacting with the device at a register > > > level and must call to the kernel - ie creating resources is a > > > kernel call - for security. > > > - Both create command request/response rings in userspace controlled > > > memory and have HW DMA to read requests and DMA to generate responses > > > - Both allow the work on the rings to DMA outside the ring to > > > addresses controlled by userspace. > > > - Both have to support a mixture of HW that uses on-device security > > > or IOMMU based security. > > > > The main difference is userspace/drivers need to be portable with > > virtio. > > rdma also has a stable/portable user space library API that is > portable to multiple operating systems. > > What you don't like is that RDMA userspace has driver-specific > code. Ie the kernel interface is not fully hardware independent. > > Jason Right. Not that I don't like it, it has some advantages too. But it's addressing a different need which a vendor specific userspace driver doesn't address. -- MST