Last year we began seeing Linux patches preparing the kernel for Intel Data Streaming Accelerator “DSA” 3.0 IP. Finally with the Linux 7.0 kernel those patches in updated form have now been merged.
The Intel Data Streaming Accelerator helps offload data movement and transformation tasks from the CPU to the dedicated engine silicon found on recent Xeon CPUs. The Intel Data Streaming Accelerator can provide high performance data copy and analytics acceleration with software adapted to the engine. Intel DSA 3.0 is their next-generation IP presumably to be found with Diamond Rapids processors.
The code merged for Linux 7.0 is a revised form of last year’s DSA 3.0 enablement patches. The new code for Linux 7.0 introduces new sysfs interfaces for the DSA 3.0 capability registers for making user-space aware of new hardware features. Plus Max SGL Size support for DSA 3.0 due to some opcodes like Gather copy and Gather reduce requiring the scatter-gather list “SGL” to be properly sized before user-space application use.
The code was merged for Linux 7.0 though the new DSA 3.0 capabilities sysfs interface does break typical Linux kernel practices. Usually only one value is allowed per sysfs file while the new DSA 3.0 capabilities stuffs three values into one sysfs file.
These Intel DSA 3.0 patches were merged as part of the DMA engine pull for Linux 7.0.
