New mount option may be used to choose a specific memory bandwidth monitoring event to feed the MBA Software Controller(mba_sc) feedback loop. Resctrl will automatically switch to using total memory bandwidth on systems that do not support monitroing local bandwidth. Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> --- Documentation/arch/x86/resctrl.rst | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index a824affd741d..ab0868713f4a 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -35,7 +35,8 @@ about the feature from resctrl's info directory. To use the feature mount the file system:: - # mount -t resctrl resctrl [-o cdp[,cdpl2][,mba_MBps][,debug]] /sys/fs/resctrl + # mount -t resctrl resctrl [-o cdp[,cdpl2][,mba_MBps] \ + [,mba_MBps_event=[mbm_local_bytes|mbm_total_bytes]][,debug]] /sys/fs/resctrl mount options are: @@ -44,8 +45,14 @@ mount options are: "cdpl2": Enable code/data prioritization in L2 cache allocations. "mba_MBps": - Enable the MBA Software Controller(mba_sc) to specify MBA - bandwidth in MiBps + Use a software feedback loop from the memory bandwidth monitoring + feature to automatically adjust memory bandwidth allocation + throttling so that the user can specify MBA control values in MiBps. + Defaults to using MBM local bandwidth, but will use total bandwidth on + systems that do not support local bandwidth monitoring. +"mba_MBps_event=[mbm_local_bytes|mbm_total_bytes]": + Enable the "mba_MBps" option with an explicitly chosen monitor + event as input to the software feedback loop. "debug": Make debug files accessible. Available debug files are annotated with "Available only with debug option". @@ -561,16 +568,24 @@ increase or vary although user specified bandwidth percentage is same. In order to mitigate this and make the interface more user friendly, resctrl added support for specifying the bandwidth in MiBps as well. The kernel underneath would use a software feedback mechanism or a "Software -Controller(mba_sc)" which reads the actual bandwidth using MBM counters -and adjust the memory bandwidth percentages to ensure:: +Controller(mba_sc)" which reads the actual bandwidth using either local +or total memory bandwidth MBM counters and adjusts the memory bandwidth +percentages to ensure:: "actual bandwidth < user specified bandwidth". By default, the schemata would take the bandwidth percentage values where as user can switch to the "MBA software controller" mode using -a mount option 'mba_MBps'. The schemata format is specified in the below +the mount option 'mba_MBps' or explicitly choose which MBM event with +the 'mba_MBps_event' option. The schemata format is specified in the below sections. +The software feedback mechanism uses measurement of local +memory bandwidth to make adjustments to throttling levels. If a system +is running applications with poor NUMA locality users may want to use +the "mba_MBps_event=mbm_total_bytes" mount option which will use total +memory bandwidth measurements instead of local. + L3 schemata file details (code and data prioritization disabled) ---------------------------------------------------------------- With CDP disabled the L3 schemata format is:: -- 2.46.1