linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: Wei Huang via Lsf-pc <lsf-pc@lists.linux-foundation.org>
Cc: <linux-mm@kvack.org>, Don Dutile <ddutile@redhat.com>,
	Joel Savitz <jsavitz@redhat.com>,
	"Moyes, William" <William.Moyes@amd.com>,
	"Iyer, Shyam" <Shyam.Iyer@dell.com>,
	"Lynch, Nathan" <Nathan.Lynch@amd.com>, <mel.gorman@gmail.com>,
	<santosh.shukla@amd.com>,
	"Suthikulpanit, Suravee" <Suravee.Suthikulpanit@amd.com>,
	<shivankg@amd.com>, <Michael.Day@amd.com>
Subject: Re: [Lsf-pc] [LSF/MM/BPF TOPIC] Enabling Smart Data Stream Accelerator Support for Linux
Date: Mon, 3 Feb 2025 20:19:26 -0800	[thread overview]
Message-ID: <67a1954e28272_2d2c2943d@dwillia2-xfh.jf.intel.com.notmuch> (raw)
In-Reply-To: <f3212aef-ebc4-4447-9cae-7bc9b528334e@amd.com>

Wei Huang via Lsf-pc wrote:
> Hi All,
> 
> I want to proposal a talk for the LSFMMBPF conference: Enabling Smart 
> Data Stream Accelerator (SDXI) Support for Linux.
> 
> The smart data stream accelerator (SDXI) is an industry standard [1] 
> that provides various advanced capabilities, such as offloading DMA 
> operations, supporting user-space addresses, and offering other advanced 
> data processing features. With the integration of SDXI into a SoC, DMA 
> offloading can now be supported across different address spaces. This 
> talk focuses on a software design which enables comprehensive SDXI 
> support across multiple software layers in the Linux Kernel. These 
> interfaces not only facilitate SDXI hardware management but also allow 
> kernel space subsystems and user space applications to directly own and 
> control SDXI hardware under the protection of IOMMU.
> 
> To illustrate the practical applications of SDXI, Red Hat and AMD 
> developed a user-space library that leverages the SDXI driver interface, 
> demonstrating various use cases, such as memory operation offloading, in 
> both bare-metal and virtual environments.
> 
> The prototype device driver [2] and user-space library are available for 
> testing. We continue to work on the improvement of both components and 
> plan to upstream the device driver soon.
> 
> == DISCUSSION ==
> At this conference, we plan to discuss with the community on:
> 
> 1) Use Cases
> * Linux DMA engine

Is this a use case?

In other words copy-offload engines have struggled for more than a
decard to impact kernel use cases due to the maintenance burden of split
async / synchronous paths for kernel-buffer-to-kernel-buffer copies. The
Linux dmaengine subsystem mainly stayed relevant due to device-DMA use
cases. 

> * Kernel task offloading (e.g., bulk copying)
> * QoS and kernel perf integration
> * New use cases

I think for this effort to be successful it needs to focus on one
embarassingly clear use case where CPU copy hits a scaling wall, not a
gallery of potential use cases.

> 2) User-Space API Interface
> * IOCTL proposal
> * Security control
> * User-space app integration

The best API for copy-offload is no new API, i.e. transparent
acceleration of existing software. For example, io_uring is already
asking applications to rewrite and submit bulk work to the kernel. It
would be lovely if the applications got copy offload for free after
paying the io_uring conversion cost.


  parent reply	other threads:[~2025-02-04  4:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-31 17:53 Wei Huang
2025-02-03 10:13 ` Jonathan Cameron
2025-02-03 14:23   ` Jason Gunthorpe
2025-02-04  0:59     ` Wei Huang
2025-02-04  0:52   ` Wei Huang
2025-02-04  4:19 ` Dan Williams [this message]
2025-02-04  7:59 ` Christoph Hellwig

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=67a1954e28272_2d2c2943d@dwillia2-xfh.jf.intel.com.notmuch \
    --to=dan.j.williams@intel.com \
    --cc=Michael.Day@amd.com \
    --cc=Nathan.Lynch@amd.com \
    --cc=Shyam.Iyer@dell.com \
    --cc=Suravee.Suthikulpanit@amd.com \
    --cc=William.Moyes@amd.com \
    --cc=ddutile@redhat.com \
    --cc=jsavitz@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=mel.gorman@gmail.com \
    --cc=santosh.shukla@amd.com \
    --cc=shivankg@amd.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