mirror of https://gitee.com/openkylin/linux.git
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: Babu Moger <babu.moger@amd.com> Co-developed-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
790bf585b0
commit
53f74fbec9
|
@ -66,6 +66,7 @@ pid_t bm_pid, ppid;
|
|||
int tests_run;
|
||||
|
||||
char llc_occup_path[1024];
|
||||
bool is_amd;
|
||||
|
||||
bool check_resctrlfs_support(void);
|
||||
int filter_dmesg(void);
|
||||
|
|
|
@ -13,6 +13,27 @@
|
|||
#define BENCHMARK_ARGS 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)
|
||||
{
|
||||
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)
|
|||
if (geteuid() != 0)
|
||||
printf("# WARNING: not running as root, tests may fail.\n");
|
||||
|
||||
/* Detect AMD vendor */
|
||||
detect_amd();
|
||||
|
||||
if (has_ben) {
|
||||
/* Extract benchmark command from command line. */
|
||||
for (i = ben_ind; i < argc; i++) {
|
||||
|
|
Loading…
Reference in New Issue