[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230205050122-mutt-send-email-mst@kernel.org>
Date: Sun, 5 Feb 2023 05:01:59 -0500
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Shunsuke Mie <mie@...l.co.jp>
Cc: Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Jason Wang <jasowang@...hat.com>, Frank Li <Frank.Li@....com>,
Jon Mason <jdmason@...zu.us>,
Ren Zhijie <renzhijie2@...wei.com>,
Takanari Hayama <taki@...l.co.jp>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [RFC PATCH 0/4] PCI: endpoint: Introduce a virtio-net EP function
On Fri, Feb 03, 2023 at 07:04:14PM +0900, Shunsuke Mie wrote:
> This patchset introduce a virtio-net EP device function. It provides a
> new option to communiate between PCIe host and endpoint over IP.
> Advantage of this option is that the driver fully uses a PCIe embedded DMA.
> It is used to transport data between virtio ring directly each other. It
> can be expected to better throughput.
>
> To realize the function, this patchset has few changes and introduces a
> new APIs to PCI EP framework related to virtio. Furthermore, it device
> depends on the some patchtes that is discussing. Those depended patchset
> are following:
> - [PATCH 1/2] dmaengine: dw-edma: Fix to change for continuous transfer
> link: https://lore.kernel.org/dmaengine/20221223022608.550697-1-mie@igel.co.jp/
> - [RFC PATCH 0/3] Deal with alignment restriction on EP side
> link: https://lore.kernel.org/linux-pci/20230113090350.1103494-1-mie@igel.co.jp/
> - [RFC PATCH v2 0/7] Introduce a vringh accessor for IO memory
> link: https://lore.kernel.org/virtualization/20230202090934.549556-1-mie@igel.co.jp/
>
> About this patchset has 4 patches. The first of two patch is little changes
> to virtio. The third patch add APIs to easily access virtio data structure
> on PCIe Host side memory. The last one introduce a virtio-net EP device
> function. Details are in commit respectively.
>
> Currently those network devices are testd using ping only. I'll add a
> result of performance evaluation using iperf and etc to the future version
> of this patchset.
All this feels like it'd need a virtio spec extension but I'm not 100%
sure without spending much more time understanding this.
what do you say?
> Shunsuke Mie (4):
> virtio_pci: add a definition of queue flag in ISR
> virtio_ring: remove const from vring getter
> PCI: endpoint: Introduce virtio library for EP functions
> PCI: endpoint: function: Add EP function driver to provide virtio net
> device
>
> drivers/pci/endpoint/Kconfig | 7 +
> drivers/pci/endpoint/Makefile | 1 +
> drivers/pci/endpoint/functions/Kconfig | 12 +
> drivers/pci/endpoint/functions/Makefile | 1 +
> .../pci/endpoint/functions/pci-epf-vnet-ep.c | 343 ++++++++++
> .../pci/endpoint/functions/pci-epf-vnet-rc.c | 635 ++++++++++++++++++
> drivers/pci/endpoint/functions/pci-epf-vnet.c | 387 +++++++++++
> drivers/pci/endpoint/functions/pci-epf-vnet.h | 62 ++
> drivers/pci/endpoint/pci-epf-virtio.c | 113 ++++
> drivers/virtio/virtio_ring.c | 2 +-
> include/linux/pci-epf-virtio.h | 25 +
> include/linux/virtio.h | 2 +-
> include/uapi/linux/virtio_pci.h | 2 +
> 13 files changed, 1590 insertions(+), 2 deletions(-)
> create mode 100644 drivers/pci/endpoint/functions/pci-epf-vnet-ep.c
> create mode 100644 drivers/pci/endpoint/functions/pci-epf-vnet-rc.c
> create mode 100644 drivers/pci/endpoint/functions/pci-epf-vnet.c
> create mode 100644 drivers/pci/endpoint/functions/pci-epf-vnet.h
> create mode 100644 drivers/pci/endpoint/pci-epf-virtio.c
> create mode 100644 include/linux/pci-epf-virtio.h
>
> --
> 2.25.1
Powered by blists - more mailing lists