Back in August AMD posted Linux patches for L3 Smart Data Cache Injection Allocation Enforcement (SDCIAE). That L3 Smart Data Cache Injection (SDCI) work was since announced as part of the AMD EPYC 9005 “Turin” processors. A second iteration of those SDCIAE were posted this week in working to get this functionality enabled for the mainline Linux kernel.
As part of the new 5th Gen AMD EPYC “Turin” features there is this L3 Smart Data Cache Injection along with the PCIe TLP Processing Hints (TPH). The Smart Data Cache Enjection allows I/O devices to inject data directly into the CPU cache to enhance utilization and reduce memory bandwidth while building atop PCIe TPH.
With the TPH bits now in the mainline kernel, AMD Linux engineers are back to working on SDCI and the SDCHI allocation enforcement via the Linux kernel’s resource control “resctrl” infrastructure. The v2 patches explain of the AMD SDCIAE work:
“This series adds the support for L3 Smart Data Cache Injection Allocation Enforcement (SDCIAE) to resctrl infrastructure.
Upcoming AMD hardware implements Smart Data Cache Injection (SDCI). Smart Data Cache Injection (SDCI) is a mechanism that enables direct insertion of data from I/O devices into the L3 cache. By directly caching data from I/O devices rather than first storing the I/O data in DRAM, SDCI reduces demands on DRAM bandwidth and reduces latency to the processor consuming the I/O data.
The SDCIAE (SDCI Allocation Enforcement) PQE feature allows system software to control the portion of the L3 cache used for SDCI devices.
When enabled, SDCIAE forces all SDCI lines to be placed into the L3 cache partitions identified by the highest-supported L3_MASK_n register, where n is the maximum supported CLOSID.”
The v2 patches as the first since August bring various code changes, renaming some elements within the code, and adjusting other bits for getting this SDCIAE bits squared away. We’ll see if these v2 patches are in good enough shape for upstreaming or if further iterations will still be needed for getting this new EPYC Turin I/O feature into the mainline Linux kernel.