[PATCH 2/4] selftests/resctrl: Pass sysfs controller name of the vendor

From: Babu Moger
Date: Thu Feb 22 2024 - 16:36:41 EST


Detect the vendor and pass the sysfs name for the vendor for searching
the controller information.

Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
---
tools/testing/selftests/resctrl/resctrl_val.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c
index 52e23a8076d3..792116d3565f 100644
--- a/tools/testing/selftests/resctrl/resctrl_val.c
+++ b/tools/testing/selftests/resctrl/resctrl_val.c
@@ -224,14 +224,24 @@ static int get_number_of_mem_ctrls(void)
{
char imc_dir[512], *temp;
unsigned int count = 0;
+ int ret, vendor, size;
struct dirent *ep;
- int ret;
+ char *sysfs_name;
DIR *dp;

+ vendor = get_vendor();
+ if (vendor == ARCH_INTEL) {
+ sysfs_name = UNCORE_IMC;
+ size = sizeof(UNCORE_IMC);
+ } else {
+ perror("Unsupported Vendor!\n");
+ return -1;
+ }
+
dp = opendir(DYN_PMU_PATH);
if (dp) {
while ((ep = readdir(dp))) {
- temp = strstr(ep->d_name, UNCORE_IMC);
+ temp = strstr(ep->d_name, sysfs_name);
if (!temp)
continue;

@@ -242,7 +252,7 @@ static int get_number_of_mem_ctrls(void)
* well and hence the last underscore character in
* uncore_imc'_' need not be counted.
*/
- temp = temp + sizeof(UNCORE_IMC);
+ temp = temp + size;

/*
* Some directories under "DYN_PMU_PATH" could have
--
2.34.1