AMD Updates Linux QoS Patches For SMBA With CXL Memory, BMEC
This summer AMD began posting Linux kernel patches for Quality of Service "QoS" features with new AMD CPUs. Sent out on Friday were the newest iteration of these QoS extension patches around SMBA and BMEC with these features likely premiering on AMD EPYC "Genoa" processors.
The Linux kernel patches are for enabling Slow Memory Bandwidth Allocation (SMBA) with CXL.memory being supported as the "slow" memory device and then Bandwidth Monitoring Event Configuration (BMEC).
The Slow Memory Bandwidth Allocation allows for QoS enforcement policies to be applied to external "slow" memory connected to the host, which for now CXL.memory is the only "slow" memory type supported.
The Bandwidth Monitoring Event Configuration as implied by the name is around bandwidth monitoring events. There are events around the number of reads to memory to local/non-local NUMA domains, non-temporal writes, reads to slow memory in local/non-local NUMA domains, and more.
Since the patches this summer, AMD has continued to refine these QoS features, address various upstream review comments, and re-based against the latest Linux Git code. With this week's v8 patches there are some minor code changes, adjusting the configuration file name now to mbm_total_bytes_config, lock protection when reading/writing to the configuration file, and other text changes. See this patch series for the latest AMD QoS work.
With these features presumably coming for AMD EPYC "Genoa" processors, hopefully the work will be deemed ready in time for the upcoming Linux 6.2 cycle. AMD has been teasing that on 10 November they will be unveiling their next-gen server processors.
The Linux kernel patches are for enabling Slow Memory Bandwidth Allocation (SMBA) with CXL.memory being supported as the "slow" memory device and then Bandwidth Monitoring Event Configuration (BMEC).
The Slow Memory Bandwidth Allocation allows for QoS enforcement policies to be applied to external "slow" memory connected to the host, which for now CXL.memory is the only "slow" memory type supported.
The Bandwidth Monitoring Event Configuration as implied by the name is around bandwidth monitoring events. There are events around the number of reads to memory to local/non-local NUMA domains, non-temporal writes, reads to slow memory in local/non-local NUMA domains, and more.
Since the patches this summer, AMD has continued to refine these QoS features, address various upstream review comments, and re-based against the latest Linux Git code. With this week's v8 patches there are some minor code changes, adjusting the configuration file name now to mbm_total_bytes_config, lock protection when reading/writing to the configuration file, and other text changes. See this patch series for the latest AMD QoS work.
It's next week already...
With these features presumably coming for AMD EPYC "Genoa" processors, hopefully the work will be deemed ready in time for the upcoming Linux 6.2 cycle. AMD has been teasing that on 10 November they will be unveiling their next-gen server processors.
Add A Comment