1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-16 13:28:18 +00:00
node-feature-discovery/rdt-discovery/monitoring-mbm-discovery.c
Olev Kartau e984154090 Added more Intel RDT capability discovery: CMT,MBM,MBA (#120)
Added Memory Bandwith Allocation (MBA) capability discovery.
Refined RDT monitoring capability detection;
Cache Monitoring Technology (CMT) and
Memory Bandwidth Monitoring (MBM)
capabilities can be detected separately.
2018-05-24 16:49:00 -07:00

26 lines
685 B
C

#include <stdio.h>
#include <stdlib.h>
#include "machine.h"
int main(int argc, char *argv[]) {
struct cpuid_out res;
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
lcpuid(0x7, 0x0, &res);
if (!(res.ebx & (1 << 12))) {
return EXIT_FAILURE;
}
// check for overall monitoring capability first
lcpuid(0xf, 0x0, &res);
if (!(res.edx & (1 << 1))) {
return EXIT_FAILURE;
}
// check for more detailed capability, MBM monitoring
lcpuid(0xf, 0x1, &res);
if ((res.edx & (3 << 1)) != (3 << 1)) {
return EXIT_FAILURE;
}
// If we are here, then MBM cache monitoring capability is available.
return EXIT_SUCCESS;
}