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:32 UTC|newest]
Thread overview: 91+ 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 ` 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-06 8:08 ` Kenneth Lee
2018-09-03 2:55 ` Lu Baolu
2018-09-06 9:01 ` Kenneth Lee
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
[not found] ` <20180903005204.26041-4-nek.in.cn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-09-04 15:32 ` kbuild test robot
2018-09-04 15:32 ` kbuild test robot
2018-09-05 7:27 ` Dan Carpenter
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
[not found] ` <4e46a451-d1cd-ac68-84b4-20792fdbc733-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2018-09-06 9:08 ` Kenneth Lee
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-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-06 9:10 ` Kenneth Lee
2018-09-03 2:32 ` Lu Baolu [this message]
[not found] ` <81edb8ff-d046-34e5-aee7-d8564e2517c2-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-09-06 9:11 ` [RFCv2 PATCH 0/7] A General Accelerator Framework, WarpDrive Kenneth Lee
2018-09-06 9:11 ` 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 9:45 ` Kenneth Lee
2018-09-06 13:31 ` Jerome Glisse
[not found] ` <20180906133133.GA3830-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-07 4:01 ` Kenneth Lee
2018-09-07 4:01 ` Kenneth Lee
2018-09-07 16:53 ` Jerome Glisse
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 3:28 ` Kenneth Lee
2018-09-10 14:54 ` Jerome Glisse
2018-09-10 14:54 ` Jerome Glisse
[not found] ` <20180910145423.GA3488-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-11 2:42 ` Kenneth Lee
2018-09-11 2:42 ` Kenneth Lee
2018-09-11 3:33 ` Jerome Glisse
2018-09-11 3:33 ` Jerome Glisse
[not found] ` <20180911033358.GA4730-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-11 6:40 ` Kenneth Lee
2018-09-11 6:40 ` Kenneth Lee
2018-09-11 13:40 ` Jerome Glisse
[not found] ` <20180911134013.GA3932-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-13 8:32 ` Kenneth Lee
2018-09-13 8:32 ` Kenneth Lee
2018-09-13 14:51 ` Jerome Glisse
2018-09-14 3:12 ` Kenneth Lee
2018-09-14 3:12 ` Kenneth Lee
2018-09-14 14:05 ` Jerome Glisse
[not found] ` <20180913145149.GB3576-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-14 6:50 ` Tian, Kevin
2018-09-14 6:50 ` Tian, Kevin
2018-09-14 13:05 ` Kenneth Lee
2018-09-14 13:05 ` Kenneth Lee
2018-09-14 13:05 ` Kenneth Lee
2018-09-14 14:13 ` Jerome Glisse
2018-09-14 14:13 ` Jerome Glisse
2018-09-14 14:13 ` Jerome Glisse
[not found] ` <20180903005204.26041-1-nek.in.cn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-09-03 0:51 ` [PATCH 1/7] vfio/sdmdev: Add documents for WarpDrive framework Kenneth Lee
2018-09-03 0:51 ` Kenneth Lee
2018-09-06 18:36 ` Randy Dunlap
2018-09-07 2:21 ` Kenneth Lee
2018-09-07 2:21 ` Kenneth Lee
2018-09-17 1:42 ` [RFCv2 PATCH 0/7] A General Accelerator Framework, WarpDrive Jerome Glisse
2018-09-17 1:42 ` Jerome Glisse
[not found] ` <20180917014244.GA27596-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-17 8:39 ` Kenneth Lee
2018-09-17 8:39 ` Kenneth Lee
2018-09-17 12:37 ` Jerome Glisse
[not found] ` <20180917123744.GA3605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-18 6:00 ` Kenneth Lee
2018-09-18 6:00 ` Kenneth Lee
2018-09-18 13:03 ` Jerome Glisse
2018-09-20 5:55 ` Kenneth Lee
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:05 ` Kenneth Lee
2018-09-21 10:03 ` Kenneth Lee
2018-09-21 10:03 ` Kenneth Lee
2018-09-21 14:52 ` Jerome Glisse
[not found] ` <20180921145201.GA3357-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-09-25 5:55 ` Kenneth Lee
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.