Commit 53f74fbe authored by Babu Moger's avatar Babu Moger Committed by Shuah Khan

selftests/resctrl: Add vendor detection mechanism

RESCTRL feature is supported both on Intel and AMD now. Some features
are implemented differently. Add vendor detection mechanism. Use the vendor
check where there are differences.
Signed-off-by: default avatarBabu Moger <babu.moger@amd.com>
Co-developed-by: default avatarFenghua Yu <fenghua.yu@intel.com>
Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 790bf585
...@@ -66,6 +66,7 @@ pid_t bm_pid, ppid; ...@@ -66,6 +66,7 @@ pid_t bm_pid, ppid;
int tests_run; int tests_run;
char llc_occup_path[1024]; char llc_occup_path[1024];
bool is_amd;
bool check_resctrlfs_support(void); bool check_resctrlfs_support(void);
int filter_dmesg(void); int filter_dmesg(void);
......
...@@ -13,6 +13,27 @@ ...@@ -13,6 +13,27 @@
#define BENCHMARK_ARGS 64 #define BENCHMARK_ARGS 64
#define BENCHMARK_ARG_SIZE 64 #define BENCHMARK_ARG_SIZE 64
bool is_amd;
void detect_amd(void)
{
FILE *inf = fopen("/proc/cpuinfo", "r");
char *res;
if (!inf)
return;
res = fgrep(inf, "vendor_id");
if (res) {
char *s = strchr(res, ':');
is_amd = s && !strcmp(s, ": AuthenticAMD\n");
free(res);
}
fclose(inf);
}
static void cmd_help(void) static void cmd_help(void)
{ {
printf("usage: resctrl_tests [-h] [-b \"benchmark_cmd [options]\"] [-t test list] [-n no_of_bits]\n"); printf("usage: resctrl_tests [-h] [-b \"benchmark_cmd [options]\"] [-t test list] [-n no_of_bits]\n");
...@@ -107,6 +128,9 @@ int main(int argc, char **argv) ...@@ -107,6 +128,9 @@ int main(int argc, char **argv)
if (geteuid() != 0) if (geteuid() != 0)
printf("# WARNING: not running as root, tests may fail.\n"); printf("# WARNING: not running as root, tests may fail.\n");
/* Detect AMD vendor */
detect_amd();
if (has_ben) { if (has_ben) {
/* Extract benchmark command from command line. */ /* Extract benchmark command from command line. */
for (i = ben_ind; i < argc; i++) { for (i = ben_ind; i < argc; i++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment