From: Lu Baolu <baolu.lu@linux.intel.com>
To: Kenneth Lee <nek.in.cn@gmail.com>,
Jonathan Corbet <corbet@lwn.net>,
Herbert Xu <herbert@gondor.apana.org.au>,
"David S . Miller" <davem@davemloft.net>,
Joerg Roedel <joro@8bytes.org>,
Alex Williamson <alex.williamson@redhat.com>,
Kenneth Lee <liguozhu@hisilicon.com>,
Hao Fang <fanghao11@huawei.com>,
Zhou Wang <wangzhou1@hisilicon.com>,
Zaibo Xu <xuzaibo@huawei.com>,
Philippe Ombredanne <pombredanne@nexb.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-crypto@vger.kernel.org, iommu@lists.linux-foundation.org,
kvm@vger.kernel.org, linux-accelerators@lists.ozlabs.org,
Sanjay Kumar <sanjay.k.kumar@intel.com>
Cc: baolu.lu@linux.intel.com, linuxarm@huawei.com
Subject: Re: [RFCv2 PATCH 0/7] A General Accelerator Framework, WarpDrive
Date: Mon, 3 Sep 2018 10:32:16 +0800 [thread overview]
Message-ID: <81edb8ff-d046-34e5-aee7-d8564e2517c2@linux.intel.com> (raw)
In-Reply-To: <20180903005204.26041-1-nek.in.cn@gmail.com>
Hi,
On 09/03/2018 08:51 AM, Kenneth Lee wrote:
> From: Kenneth Lee <liguozhu@hisilicon.com>
>
> WarpDrive is an accelerator framework to expose the hardware capabilities
> directly to the user space. It makes use of the exist vfio and vfio-mdev
> facilities. So the user application can send request and DMA to the
> hardware without interaction with the kernel. This removes the latency
> of syscall.
>
> WarpDrive is the name for the whole framework. The component in kernel
> is called SDMDEV, Share Domain Mediated Device. Driver driver exposes its
> hardware resource by registering to SDMDEV as a VFIO-Mdev. So the user
> library of WarpDrive can access it via VFIO interface.
>
> The patchset contains document for the detail. Please refer to it for more
> information.
>
> This patchset is intended to be used with Jean Philippe Brucker's SVA
> patch [1], which enables not only IO side page fault, but also PASID
> support to IOMMU and VFIO.
>
> With these features, WarpDrive can support non-pinned memory and
> multi-process in the same accelerator device. We tested it in our SoC
> integrated Accelerator (board ID: D06, Chip ID: HIP08). A reference work
> tree can be found here: [2].
>
> But it is not mandatory. This patchset is tested in the latest mainline
> kernel without the SVA patches. So it supports only one process for each
> accelerator.
>
> We have noticed the IOMMU aware mdev RFC announced recently [3].
>
> The IOMMU aware mdev has similar idea but different intention comparing to
> WarpDrive. It intends to dedicate part of the hardware resource to a VM.
> And the design is supposed to be used with Scalable I/O Virtualization.
> While sdmdev is intended to share the hardware resource with a big amount
> of processes. It just requires the hardware supporting address
> translation per process (PCIE's PASID or ARM SMMU's substream ID).
>
> But we don't see serious confliction on both design. We believe they can be
> normalized as one.
>
> The patch 1 is document of the framework. The patch 2 and 3 add sdmdev
> support. The patch 4, 5 and 6 is drivers for Hislicon's ZIP Accelerator
> which is registered to both crypto and warpdrive(sdmdev) and can be
> used from kernel or user space at the same time. The patch 7 is a user
> space sample demonstrating how WarpDrive works.
>
>
> Change History:
> V2 changed from V1:
> 1. Change kernel framework name from SPIMDEV (Share Parent IOMMU
> Mdev) to SDMDEV (Share Domain Mdev).
> 2. Allocate Hardware Resource when a new mdev is created (While
> it is allocated when the mdev is openned)
> 3. Unmap pages from the shared domain when the sdmdev iommu group is
> detached. (This procedure is necessary, but missed in V1)
> 4. Update document accordingly.
> 5. Rebase to the latest kernel (4.19.0-rc1)
>
> According the review comment on RFCv1, We did try to use dma-buf
> as back end of WarpDrive. It can work properly with the current
> solution [4], but it cannot make use of process's
> own memory address space directly. This is important to many
> acceleration scenario. So dma-buf will be taken as a backup
> alternative for noiommu scenario, it will be added in the future
> version.
>
>
> Refernces:
> [1] https://www.spinics.net/lists/kernel/msg2651481.html
> [2] https://github.com/Kenneth-Lee/linux-kernel-warpdrive/tree/warpdrive-sva-v0.5
> [3] https://lkml.org/lkml/2018/7/22/34
Please refer to the latest version posted here for discussion.
https://lkml.org/lkml/2018/8/30/107
Best regards,
Lu Baolu
next prev parent reply other threads:[~2018-09-03 2:33 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-03 0:51 [RFCv2 PATCH 0/7] A General Accelerator Framework, WarpDrive Kenneth Lee
2018-09-03 0:51 ` [PATCH 1/7] vfio/sdmdev: Add documents for WarpDrive framework Kenneth Lee
2018-09-06 18:36 ` Randy Dunlap
2018-09-07 2:21 ` Kenneth Lee
2018-09-03 0:51 ` [PATCH 2/7] iommu: Add share domain interface in iommu for sdmdev Kenneth Lee
2018-09-03 0:52 ` [PATCH 3/7] vfio: add sdmdev support Kenneth Lee
2018-09-03 2:11 ` Randy Dunlap
2018-09-06 8:08 ` Kenneth Lee
2018-09-03 2:55 ` Lu Baolu
2018-09-06 9:01 ` Kenneth Lee
2018-09-04 15:31 ` [RFC PATCH] vfio: vfio_sdmdev_groups[] can be static kbuild test robot
2018-09-04 15:32 ` [PATCH 3/7] vfio: add sdmdev support kbuild test robot
2018-09-04 15:32 ` kbuild test robot
2018-09-05 7:27 ` Dan Carpenter
2018-09-03 0:52 ` [PATCH 4/7] crypto: add hisilicon Queue Manager driver Kenneth Lee
2018-09-03 2:15 ` Randy Dunlap
2018-09-06 9:08 ` Kenneth Lee
2018-09-03 0:52 ` [PATCH 5/7] crypto: Add Hisilicon Zip driver Kenneth Lee
2018-09-03 0:52 ` [PATCH 6/7] crypto: add sdmdev support to Hisilicon QM Kenneth Lee
2018-09-03 2:19 ` Randy Dunlap
2018-09-06 9:09 ` Kenneth Lee
2018-09-03 0:52 ` [PATCH 7/7] vfio/sdmdev: add user sample Kenneth Lee
2018-09-03 2:25 ` Randy Dunlap
2018-09-06 9:10 ` Kenneth Lee
2018-09-03 2:32 ` Lu Baolu [this message]
2018-09-06 9:11 ` [RFCv2 PATCH 0/7] A General Accelerator Framework, WarpDrive Kenneth Lee
2018-09-04 15:00 ` Jerome Glisse
2018-09-04 16:15 ` Alex Williamson
2018-09-06 9:45 ` Kenneth Lee
2018-09-06 13:31 ` Jerome Glisse
2018-09-07 4:01 ` Kenneth Lee
2018-09-07 16:53 ` Jerome Glisse
2018-09-07 17:55 ` Jean-Philippe Brucker
2018-09-07 18:04 ` Jerome Glisse
2018-09-10 3:28 ` Kenneth Lee
2018-09-10 14:54 ` Jerome Glisse
2018-09-11 2:42 ` Kenneth Lee
2018-09-11 3:33 ` Jerome Glisse
2018-09-11 6:40 ` Kenneth Lee
2018-09-11 13:40 ` Jerome Glisse
2018-09-13 8:32 ` Kenneth Lee
2018-09-13 14:51 ` Jerome Glisse
2018-09-14 3:12 ` Kenneth Lee
2018-09-14 14:05 ` Jerome Glisse
2018-09-14 6:50 ` Tian, Kevin
2018-09-14 13:05 ` Kenneth Lee
2018-09-14 14:13 ` Jerome Glisse
2018-09-17 1:42 ` Jerome Glisse
2018-09-17 8:39 ` Kenneth Lee
2018-09-17 12:37 ` Jerome Glisse
2018-09-18 6:00 ` Kenneth Lee
2018-09-18 13:03 ` Jerome Glisse
2018-09-20 5:55 ` Kenneth Lee
2018-09-20 14:23 ` Jerome Glisse
2018-09-21 10:05 ` Kenneth Lee
2018-09-21 10:03 ` Kenneth Lee
2018-09-21 14:52 ` Jerome Glisse
2018-09-25 5:55 ` Kenneth Lee
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=81edb8ff-d046-34e5-aee7-d8564e2517c2@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=alex.williamson@redhat.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=fanghao11@huawei.com \
--cc=gregkh@linuxfoundation.org \
--cc=herbert@gondor.apana.org.au \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=liguozhu@hisilicon.com \
--cc=linux-accelerators@lists.ozlabs.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=nek.in.cn@gmail.com \
--cc=pombredanne@nexb.com \
--cc=sanjay.k.kumar@intel.com \
--cc=tglx@linutronix.de \
--cc=wangzhou1@hisilicon.com \
--cc=xuzaibo@huawei.com \
/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;
as well as URLs for NNTP newsgroup(s).