AMD SMBA+BMEC QoS Features For 4th Gen EPYC "Genoa" Positioned For Linux 6.3
Going back to last August AMD Linux engineers began posting Linux kernel patches for new Quality of Service features coming with Zen 4. After a few rounds of review and updates to those patches, this work enabling the AMD SMBA and BMEC features for 4th Gen EPYC "Genoa" processors appear positioned for introduction in the Linux 6.3 kernel cycle.
These are the kernel patches for getting Slow Memory Bandwidth Allocation and Bandwidth Monitoring Event Configuration QoS features supported under Linux.
Slow Memory Bandwidth Allocation Enforcement allows for QoS enforcement policies to be applied to external slow memory connected to the host and specifying the allocations/limits for the class of service for each resource. BMEC allows for keeping a tally of all the total and local reads/writes and a variety of events like reads to memory in the local or non-local NUMA domains, dirty victims from the QoS domain, and more. The SMBA functionality in particular should be useful for CXL memory.
This month the SMBA/BMEC patches hit their v11 iteration and it looks like everything is now ironed out. As of yesterday these AMD patches were queued into tip.git's x86/cache branch.
So barring any new issues with the code from being raised, now that they have made it into the x86 TIP area, they stand to be submitted for the next Linux kernel merge window. The Linux 6.3 kernel cycle will be kicking off with the merge window opening in mid-February while Linux 6.3 stable won't be here until around the end of April.
Overall AMD's 4th Gen EPYC is in great shape on Linux as shown across many Genoa benchmark articles on Phoronix (and more on the way!). The launch-day Linux support was in good shape but a few items like these QoS features and Automatic IBRS weren't squared away in time but looks like for Linux 6.3 they will now be ironed out.
These are the kernel patches for getting Slow Memory Bandwidth Allocation and Bandwidth Monitoring Event Configuration QoS features supported under Linux.
Slow Memory Bandwidth Allocation Enforcement allows for QoS enforcement policies to be applied to external slow memory connected to the host and specifying the allocations/limits for the class of service for each resource. BMEC allows for keeping a tally of all the total and local reads/writes and a variety of events like reads to memory in the local or non-local NUMA domains, dirty victims from the QoS domain, and more. The SMBA functionality in particular should be useful for CXL memory.
This month the SMBA/BMEC patches hit their v11 iteration and it looks like everything is now ironed out. As of yesterday these AMD patches were queued into tip.git's x86/cache branch.
So barring any new issues with the code from being raised, now that they have made it into the x86 TIP area, they stand to be submitted for the next Linux kernel merge window. The Linux 6.3 kernel cycle will be kicking off with the merge window opening in mid-February while Linux 6.3 stable won't be here until around the end of April.
Overall AMD's 4th Gen EPYC is in great shape on Linux as shown across many Genoa benchmark articles on Phoronix (and more on the way!). The launch-day Linux support was in good shape but a few items like these QoS features and Automatic IBRS weren't squared away in time but looks like for Linux 6.3 they will now be ironed out.
Add A Comment