[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D19D73EC6B@SHSMSX104.ccr.corp.intel.com>
Date: Tue, 21 Jan 2020 08:44:39 +0000
From: "Tian, Kevin" <kevin.tian@...el.com>
To: Jason Wang <jasowang@...hat.com>,
"mst@...hat.com" <mst@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "Bie, Tiwei" <tiwei.bie@...el.com>,
"jgg@...lanox.com" <jgg@...lanox.com>,
"maxime.coquelin@...hat.com" <maxime.coquelin@...hat.com>,
"Liang, Cunming" <cunming.liang@...el.com>,
"Wang, Zhihong" <zhihong.wang@...el.com>,
"rob.miller@...adcom.com" <rob.miller@...adcom.com>,
"Wang, Xiao W" <xiao.w.wang@...el.com>,
"haotian.wang@...ive.com" <haotian.wang@...ive.com>,
"Zhu, Lingshan" <lingshan.zhu@...el.com>,
"eperezma@...hat.com" <eperezma@...hat.com>,
"lulu@...hat.com" <lulu@...hat.com>,
"parav@...lanox.com" <parav@...lanox.com>,
"stefanha@...hat.com" <stefanha@...hat.com>,
"rdunlap@...radead.org" <rdunlap@...radead.org>,
"hch@...radead.org" <hch@...radead.org>,
"aadam@...hat.com" <aadam@...hat.com>,
"jakub.kicinski@...ronome.com" <jakub.kicinski@...ronome.com>,
"jiri@...lanox.com" <jiri@...lanox.com>,
"shahafs@...lanox.com" <shahafs@...lanox.com>,
"hanand@...inx.com" <hanand@...inx.com>,
"mhabets@...arflare.com" <mhabets@...arflare.com>
Subject: RE: [PATCH 0/5] vDPA support
> From: Jason Wang
> Sent: Thursday, January 16, 2020 8:42 PM
>
> Hi all:
>
> Based on the comments and discussion for mdev based hardware virtio
> offloading support[1]. A different approach to support vDPA device is
> proposed in this series.
Can you point to the actual link which triggered the direction change?
A quick glimpse in that thread doesn't reveal such information...
>
> Instead of leveraging VFIO/mdev which may not work for some
> vendors. This series tries to introduce a dedicated vDPA bus and
> leverage vhost for userspace drivers. This help for the devices that
> are not fit for VFIO and may reduce the conflict when try to propose a
> bus template for virtual devices in [1].
>
> The vDPA support is split into following parts:
>
> 1) vDPA core (bus, device and driver abstraction)
> 2) virtio vDPA transport for kernel virtio driver to control vDPA
> device
> 3) vhost vDPA bus driver for userspace vhost driver to control vDPA
> device
> 4) vendor vDPA drivers
> 5) management API
>
> Both 1) and 2) are included in this series. Tiwei will work on part
> 3). For 4), Ling Shan will work and post IFCVF driver. For 5) we leave
> it to vendor to implement, but it's better to come into an agreement
> for management to create/configure/destroy vDPA device.
>
> The sample driver is kept but renamed to vdap_sim. An on-chip IOMMU
> implementation is added to sample device to make it work for both
> kernel virtio driver and userspace vhost driver. It implements a sysfs
> based management API, but it can switch to any other (e.g devlink) if
> necessary.
>
> Please refer each patch for more information.
>
> Comments are welcomed.
>
> [1] https://lkml.org/lkml/2019/11/18/261
>
> Jason Wang (5):
> vhost: factor out IOTLB
> vringh: IOTLB support
> vDPA: introduce vDPA bus
> virtio: introduce a vDPA based transport
> vdpasim: vDPA device simulator
>
> MAINTAINERS | 2 +
> drivers/vhost/Kconfig | 7 +
> drivers/vhost/Kconfig.vringh | 1 +
> drivers/vhost/Makefile | 2 +
> drivers/vhost/net.c | 2 +-
> drivers/vhost/vhost.c | 221 +++------
> drivers/vhost/vhost.h | 36 +-
> drivers/vhost/vhost_iotlb.c | 171 +++++++
> drivers/vhost/vringh.c | 434 +++++++++++++++++-
> drivers/virtio/Kconfig | 15 +
> drivers/virtio/Makefile | 2 +
> drivers/virtio/vdpa/Kconfig | 26 ++
> drivers/virtio/vdpa/Makefile | 3 +
> drivers/virtio/vdpa/vdpa.c | 141 ++++++
> drivers/virtio/vdpa/vdpa_sim.c | 796
> +++++++++++++++++++++++++++++++++
> drivers/virtio/virtio_vdpa.c | 400 +++++++++++++++++
> include/linux/vdpa.h | 191 ++++++++
> include/linux/vhost_iotlb.h | 45 ++
> include/linux/vringh.h | 36 ++
> 19 files changed, 2327 insertions(+), 204 deletions(-)
> create mode 100644 drivers/vhost/vhost_iotlb.c
> create mode 100644 drivers/virtio/vdpa/Kconfig
> create mode 100644 drivers/virtio/vdpa/Makefile
> create mode 100644 drivers/virtio/vdpa/vdpa.c
> create mode 100644 drivers/virtio/vdpa/vdpa_sim.c
> create mode 100644 drivers/virtio/virtio_vdpa.c
> create mode 100644 include/linux/vdpa.h
> create mode 100644 include/linux/vhost_iotlb.h
>
> --
> 2.19.1
Powered by blists - more mailing lists