On Thu, Dec 5, 2024 at 9:17 AM Jason Wang <jasowang@xxxxxxxxxx> wrote: > > Adding Eugenio and YongJi. > > On Wed, Dec 4, 2024 at 11:38 PM <t.ampelikiotis@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > From: Timos Ampelikiotis <t.ampelikiotis@xxxxxxxxxxxxxxxxxxxxxx> > > > > We would like to share with you an RFC for the Virtio-loopback > > technology which we have been working on at Virtual Open Systems in > > the context of the Automotive Grade Linux community (Software defined > > Vehicles expert group) > > > > We previously presented this activity (see [1]) and now we come back > > to you with latest development and updates. > > > > We believe that the technology is more mature today and we would like > > to assess the community interest in the technology itself and in > > merging the code. > > > > Below we provide a brief description of the technology, recent > > updates and a short comparison with vDUSE that might be seen as a > > similar technology. > > > > 1. Overview: > > ------- > > > > Virtio-loopback is a hardware abstraction layer (HAL) designed for > > non-virtualized environments based on virtio. The main objective is > > to enable applications communication with vhost-user devices in a > > non-virtualized environment. > > > > More in details, Virtio-loopback architecture consists of a new > > transport (Virtio-loopback), a user-space application (Adapter) and > > the vhost-user devices. > > > > The data path has been implemented using the "zero-copy" principle, > > [ ... ] > > > where vhost-user devices access virtqueues directly in the kernel > > space. > > Eugenio used to work on a POC to bridge vhost-user to vDPA via a > dedicated userspace application. He might share more thoughts about > this. > Right, it worked well with DPDK and net. It could work as long as vhost-user device supported iotlb messages. The current kernel vdpa framework does not send the memory map until the device asks for it. If we modify the kernel vdpa so it always sends the memory map, and only waits for the userland device iotlb if a given feature flag is negotiated, it can be compatible with all the vhost-user devices. I can post the code if it is useful for sure.