x86/resctrl: Support wider MBM counters
authorReinette Chatre <reinette.chatre@intel.com>
Tue, 5 May 2020 22:36:18 +0000 (15:36 -0700)
committerBorislav Petkov <bp@suse.de>
Wed, 6 May 2020 16:08:32 +0000 (18:08 +0200)
commit0c4d5ba1b998e713815b7790d3db6ced0ae49489
treea3505b4a0a63ef801deae4d6e9c12ca033ff61e1
parentf3d44f18b0662327c42128b9d3604489bdb6e36f
x86/resctrl: Support wider MBM counters

The original Memory Bandwidth Monitoring (MBM) architectural
definition defines counters of up to 62 bits in the
IA32_QM_CTR MSR while the first-generation MBM implementation
uses statically defined 24 bit counters.

The MBM CPUID enumeration properties have been expanded to include
the MBM counter width, encoded as an offset from 24 bits.

While eight bits are available for the counter width offset IA32_QM_CTR
MSR only supports 62 bit counters. Add a sanity check, with warning
printed when encountered, to ensure counters cannot exceed the 62 bit
limit.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/69d52abd5b14794d3a0f05ba7c755ed1f4c0d5ed.1588715690.git.reinette.chatre@intel.com
arch/x86/kernel/cpu/resctrl/internal.h
arch/x86/kernel/cpu/resctrl/monitor.c