1
0
Fork 0

MLK-23302-1 tools: perf: pmu-event: add socname for struct pmu_event

Add socname for struct pmu_event for that we can distinguish different SoCs
by this property.

Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
5.4-rM2-2.2.x-imx-squashed
Joakim Zhang 2020-02-10 10:36:16 +08:00
parent 4431f64855
commit edb9b10ee1
3 changed files with 18 additions and 5 deletions

View File

@ -322,7 +322,8 @@ static int print_events_table_entry(void *data, char *name, char *event,
char *desc, char *long_desc,
char *pmu, char *unit, char *perpkg,
char *metric_expr,
char *metric_name, char *metric_group)
char *metric_name, char *metric_group,
char *socname)
{
struct perf_entry_data *pd = data;
FILE *outfp = pd->outfp;
@ -354,6 +355,8 @@ static int print_events_table_entry(void *data, char *name, char *event,
fprintf(outfp, "\t.metric_name = \"%s\",\n", metric_name);
if (metric_group)
fprintf(outfp, "\t.metric_group = \"%s\",\n", metric_group);
if (socname)
fprintf(outfp, "\t.socname = \"%s\",\n", socname);
fprintf(outfp, "},\n");
return 0;
@ -371,6 +374,7 @@ struct event_struct {
char *metric_expr;
char *metric_name;
char *metric_group;
char *socname;
};
#define ADD_EVENT_FIELD(field) do { if (field) { \
@ -416,7 +420,8 @@ static void free_arch_std_events(void)
static int save_arch_std_events(void *data, char *name, char *event,
char *desc, char *long_desc, char *pmu,
char *unit, char *perpkg, char *metric_expr,
char *metric_name, char *metric_group)
char *metric_name, char *metric_group,
char *socname)
{
struct event_struct *es;
@ -507,7 +512,8 @@ int json_events(const char *fn,
char *long_desc,
char *pmu, char *unit, char *perpkg,
char *metric_expr,
char *metric_name, char *metric_group),
char *metric_name, char *metric_group,
char *socname),
void *data)
{
int err;
@ -536,6 +542,7 @@ int json_events(const char *fn,
char *metric_expr = NULL;
char *metric_name = NULL;
char *metric_group = NULL;
char *socname = NULL;
char *arch_std = NULL;
unsigned long long eventcode = 0;
struct msrmap *msr = NULL;
@ -622,6 +629,8 @@ int json_events(const char *fn,
addfield(map, &metric_expr, "", "", val);
for (s = metric_expr; *s; s++)
*s = tolower(*s);
} else if (json_streq(map, field, "SocName")) {
addfield(map, &socname, "", "", val);
} else if (json_streq(map, field, "ArchStdEvent")) {
addfield(map, &arch_std, "", "", val);
for (s = arch_std; *s; s++)
@ -663,7 +672,8 @@ int json_events(const char *fn,
goto free_strings;
}
err = func(data, name, real_event(name, event), desc, long_desc,
pmu, unit, perpkg, metric_expr, metric_name, metric_group);
pmu, unit, perpkg, metric_expr, metric_name, metric_group,
socname);
free_strings:
free(event);
free(desc);
@ -677,6 +687,7 @@ free_strings:
free(metric_expr);
free(metric_name);
free(metric_group);
free(socname);
free(arch_std);
if (err)

View File

@ -7,7 +7,8 @@ int json_events(const char *fn,
char *long_desc,
char *pmu,
char *unit, char *perpkg, char *metric_expr,
char *metric_name, char *metric_group),
char *metric_name, char *metric_group,
char *socname),
void *data);
char *get_cpu_str(void);

View File

@ -17,6 +17,7 @@ struct pmu_event {
const char *metric_expr;
const char *metric_name;
const char *metric_group;
const char *socname;
};
/*