Commit e73dda7f authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by Shuah Khan

selftests/resctrl: Add helper to convert L2/3 to integer

"L2"/"L3" conversion to integer is embedded into get_cache_size()
which prevents reuse.

Create a helper for the cache string to integer conversion to make
it reusable.
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent ca160887
...@@ -94,6 +94,23 @@ int umount_resctrlfs(void) ...@@ -94,6 +94,23 @@ int umount_resctrlfs(void)
return 0; return 0;
} }
/*
* get_cache_level - Convert cache level from string to integer
* @cache_type: Cache level as string
*
* Return: cache level as integer or -1 if @cache_type is invalid.
*/
static int get_cache_level(const char *cache_type)
{
if (!strcmp(cache_type, "L3"))
return 3;
if (!strcmp(cache_type, "L2"))
return 2;
ksft_print_msg("Invalid cache level\n");
return -1;
}
/* /*
* get_resource_id - Get socket number/l3 id for a specified CPU * get_resource_id - Get socket number/l3 id for a specified CPU
* @cpu_no: CPU number * @cpu_no: CPU number
...@@ -144,14 +161,9 @@ int get_cache_size(int cpu_no, const char *cache_type, unsigned long *cache_size ...@@ -144,14 +161,9 @@ int get_cache_size(int cpu_no, const char *cache_type, unsigned long *cache_size
int length, i, cache_num; int length, i, cache_num;
FILE *fp; FILE *fp;
if (!strcmp(cache_type, "L3")) { cache_num = get_cache_level(cache_type);
cache_num = 3; if (cache_num < 0)
} else if (!strcmp(cache_type, "L2")) { return cache_num;
cache_num = 2;
} else {
ksft_print_msg("Invalid cache level\n");
return -1;
}
sprintf(cache_path, "/sys/bus/cpu/devices/cpu%d/cache/index%d/size", sprintf(cache_path, "/sys/bus/cpu/devices/cpu%d/cache/index%d/size",
cpu_no, cache_num); cpu_no, cache_num);
......
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