mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2024-12-14 11:57:51 +00:00
Merge pull request #60 from balajismaniam/clean-up-rdt-helpers
Automatic merge from submit-queue Clean-up RDT helper programs. Manually tested.
This commit is contained in:
commit
675d8aa24a
3 changed files with 6 additions and 16 deletions
|
@ -3,23 +3,20 @@
|
||||||
#include "machine.h"
|
#include "machine.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
int ret, det=1;
|
|
||||||
struct cpuid_out res;
|
struct cpuid_out res;
|
||||||
|
|
||||||
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
|
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
|
||||||
lcpuid(0x7, 0x0, &res);
|
lcpuid(0x7, 0x0, &res);
|
||||||
if (!(res.ebx & (1 << 15))) {
|
if (!(res.ebx & (1 << 15))) {
|
||||||
det = 0;
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lcpuid(0x10, 0x0, &res);
|
lcpuid(0x10, 0x0, &res);
|
||||||
if (!(res.ebx & (1 << 2))) {
|
if (!(res.ebx & (1 << 2))) {
|
||||||
det = 0;
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (det)
|
// If we are here, then L2 cache allocation capability is available.
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,26 +3,22 @@
|
||||||
#include "machine.h"
|
#include "machine.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
int ret, det=1;
|
|
||||||
struct cpuid_out res;
|
struct cpuid_out res;
|
||||||
|
|
||||||
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
|
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
|
||||||
// TODO(balajismaniam): Implement L3 CAT detection using brand string and MSR probing if
|
// TODO(balajismaniam): Implement L3 CAT detection using brand string and MSR probing if
|
||||||
// not detected using cpuid
|
// not detected using cpuid
|
||||||
|
|
||||||
lcpuid(0x7, 0x0, &res);
|
lcpuid(0x7, 0x0, &res);
|
||||||
if (!(res.ebx & (1 << 15))) {
|
if (!(res.ebx & (1 << 15))) {
|
||||||
det = 0;
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lcpuid(0x10, 0x0, &res);
|
lcpuid(0x10, 0x0, &res);
|
||||||
if (!(res.ebx & (1 << 1))) {
|
if (!(res.ebx & (1 << 1))) {
|
||||||
det = 0;
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (det)
|
// If we are here, then L3 cache allocation capability is available.
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,23 +3,20 @@
|
||||||
#include "machine.h"
|
#include "machine.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
int ret, det=1;
|
|
||||||
struct cpuid_out res;
|
struct cpuid_out res;
|
||||||
|
|
||||||
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
|
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
|
||||||
lcpuid(0x7, 0x0, &res);
|
lcpuid(0x7, 0x0, &res);
|
||||||
if (!(res.ebx & (1 << 12))) {
|
if (!(res.ebx & (1 << 12))) {
|
||||||
det = 0;
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lcpuid(0xf, 0x0, &res);
|
lcpuid(0xf, 0x0, &res);
|
||||||
if (!(res.edx & (1 << 1))) {
|
if (!(res.edx & (1 << 1))) {
|
||||||
det=0;
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (det)
|
// If we are here, then cache monitoring capability is available.
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue