

System administrators can change PSR allocation policy at runtime by using the tool stack. The default Thrtl MSR is used only in hypervisor and is transparent to tool stack and user. When enforcing Memory Bandwidth Allocation, all cores of domains have the same default Thrtl MSR (COS0) which stores the same Thrtl (0). For instance, let’s assume the max COS of MBA is 8 but the max COS of 元 CAT is 16, when a domain is assigned 9 as COS, the 元 CAT CBM associated to COS 9 would be enforced, but for MBA, the HW works as default value is set since COS 9 is beyond the max COS (8) of MBA. In some cases, a domain is permitted to have a COS that is beyond one (or more) of PSR features but within the others. Generally speaking, MBA is completely independent of CAT/CDP, and any combination may be applied at any time, e.g. enabling MBA with CAT disabled.īut it needs to be noticed that MBA shares COS infrastructure with CAT, although MBA is enumerated by different CPUID leaf from CAT (which indicates that the max COS of MBA may be different from CAT). 5.2 The relationship between MBA and CAT/CDP When context switch happens, the COS ID of domain is written to per-hyper- thread MSR IA32_PQR_ASSOC, and then hardware enforces bandwidth allocation according to the throttling value stored in the Thrtl MSR register. MBA defines a range of MSRs to support specifying a delay value (Thrtl) per COS, with details below. MBA is a member of Intel PSR features, it shares the base PSR infrastructure in Xen. Users can fetch the MBA_MAX value using the psr-hwinfo xl command. The max throttling value (MBA_MAX) supported can be obtained through CPUID inside hypervisor. Higher throttling value result in lower bandwidth. Throttling value set in register implies the approximate amount of delaying the traffic between core and memory. Options: ‘-s’: Specify the socket to process, otherwise all sockets are processed. Set memory bandwidth throttling for domain. For non-linear mode, it shows hexadecimal value. The response of throttling value is non-linear.įor linear mode, it shows the decimal value. In this case any values not a power of two will be rounded down the next nearest power of two by HW automatically. Non-linear mode: input delay values are powers-of-two from zero to the MBA_MAX value from CPUID. The response of throttling value is linear. Values not an even multiple of the precision (e.g., 12%) will be rounded down (e.g., to 10% delay applied) by HW automatically.

For instance, if the MBA_MAX value is 90, the input precision is 10%. There are two modes: Linear mode: the input precision is defined as 100-(MBA_MAX). Under different modes, it shows different type of data. Show memory bandwidth throttling for domain. 4 User detailsĪdd “psr=mba” to boot line parameter to enable MBA feature. This feature provides OS/ hypervisor the ability to slow misbehaving apps/domains by using a credit-based throttling mechanism. The Memory Bandwidth Allocation (MBA) feature provides indirect and approximate control over memory bandwidth available per-core. MBA is supported on Skylake Server and beyond 5.2 The relationship between MBA and CAT/CDP.Intel Memory Bandwidth Allocation (MBA) Feature Intel Memory Bandwidth Allocation (MBA) Feature
