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
* Kernel task offloading (e.g., bulk copying)
* QoS and kernel perf integration
* New use cases
2) User-Space API Interface
* IOCTL proposal
* Security control
* User-space app integration
3) Virtualization Support
* Progress & current status
* Challenges
== REFERENCES ==
[1] SDXI 1.0 specification, https://www.snia.org/sdxi
[2] SDXI device driver, https://github.com/AMDESE/linux-sdxi
Thanks,
-Wei