selftests/resctrl: Improve perf init
struct perf_event_attr initialization is spread into perf_event_initialize() and perf_event_attr_initialize() and setting ->config is hardcoded by the deepest level. perf_event_attr init belongs to perf_event_attr_initialize() so move it entirely there. Rename the other function perf_event_initialized_read_format(). Call each init function directly from the test as they will take different parameters (especially true after the perf related global variables are moved to local variables). Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
b6e6a582f2
commit
038ce802e2
@ -15,8 +15,9 @@ static struct perf_event_read pe_read;
|
||||
static int pe_fd;
|
||||
char llc_occup_path[1024];
|
||||
|
||||
static void perf_event_attr_initialize(void)
|
||||
static void perf_event_attr_initialize(__u64 config)
|
||||
{
|
||||
memset(&pea_llc_miss, 0, sizeof(struct perf_event_attr));
|
||||
pea_llc_miss.type = PERF_TYPE_HARDWARE;
|
||||
pea_llc_miss.size = sizeof(struct perf_event_attr);
|
||||
pea_llc_miss.read_format = PERF_FORMAT_GROUP;
|
||||
@ -27,6 +28,7 @@ static void perf_event_attr_initialize(void)
|
||||
pea_llc_miss.inherit = 1;
|
||||
pea_llc_miss.exclude_guest = 1;
|
||||
pea_llc_miss.disabled = 1;
|
||||
pea_llc_miss.config = config;
|
||||
}
|
||||
|
||||
/* Start counters to log values */
|
||||
@ -36,16 +38,9 @@ static void perf_event_reset_enable(void)
|
||||
ioctl(pe_fd, PERF_EVENT_IOC_ENABLE, 0);
|
||||
}
|
||||
|
||||
static void perf_event_initialize(void)
|
||||
static void perf_event_initialize_read_format(void)
|
||||
{
|
||||
memset(&pea_llc_miss, 0, sizeof(struct perf_event_attr));
|
||||
memset(&pe_read, 0, sizeof(struct perf_event_read));
|
||||
|
||||
/* Initialize perf_event_attr structures for HW_CACHE_MISSES */
|
||||
perf_event_attr_initialize();
|
||||
|
||||
pea_llc_miss.config = PERF_COUNT_HW_CACHE_MISSES;
|
||||
|
||||
pe_read.nr = 1;
|
||||
}
|
||||
|
||||
@ -204,7 +199,8 @@ int cat_val(struct resctrl_val_param *param, size_t span)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
perf_event_initialize();
|
||||
perf_event_attr_initialize(PERF_COUNT_HW_CACHE_MISSES);
|
||||
perf_event_initialize_read_format();
|
||||
|
||||
/* Test runs until the callback setup() tells the test to stop. */
|
||||
while (1) {
|
||||
|
Loading…
Reference in New Issue
Block a user