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
parent
4431f64855
commit
edb9b10ee1
|
@ -322,7 +322,8 @@ static int print_events_table_entry(void *data, char *name, char *event,
|
||||||
char *desc, char *long_desc,
|
char *desc, char *long_desc,
|
||||||
char *pmu, char *unit, char *perpkg,
|
char *pmu, char *unit, char *perpkg,
|
||||||
char *metric_expr,
|
char *metric_expr,
|
||||||
char *metric_name, char *metric_group)
|
char *metric_name, char *metric_group,
|
||||||
|
char *socname)
|
||||||
{
|
{
|
||||||
struct perf_entry_data *pd = data;
|
struct perf_entry_data *pd = data;
|
||||||
FILE *outfp = pd->outfp;
|
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);
|
fprintf(outfp, "\t.metric_name = \"%s\",\n", metric_name);
|
||||||
if (metric_group)
|
if (metric_group)
|
||||||
fprintf(outfp, "\t.metric_group = \"%s\",\n", metric_group);
|
fprintf(outfp, "\t.metric_group = \"%s\",\n", metric_group);
|
||||||
|
if (socname)
|
||||||
|
fprintf(outfp, "\t.socname = \"%s\",\n", socname);
|
||||||
fprintf(outfp, "},\n");
|
fprintf(outfp, "},\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -371,6 +374,7 @@ struct event_struct {
|
||||||
char *metric_expr;
|
char *metric_expr;
|
||||||
char *metric_name;
|
char *metric_name;
|
||||||
char *metric_group;
|
char *metric_group;
|
||||||
|
char *socname;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ADD_EVENT_FIELD(field) do { if (field) { \
|
#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,
|
static int save_arch_std_events(void *data, char *name, char *event,
|
||||||
char *desc, char *long_desc, char *pmu,
|
char *desc, char *long_desc, char *pmu,
|
||||||
char *unit, char *perpkg, char *metric_expr,
|
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;
|
struct event_struct *es;
|
||||||
|
|
||||||
|
@ -507,7 +512,8 @@ int json_events(const char *fn,
|
||||||
char *long_desc,
|
char *long_desc,
|
||||||
char *pmu, char *unit, char *perpkg,
|
char *pmu, char *unit, char *perpkg,
|
||||||
char *metric_expr,
|
char *metric_expr,
|
||||||
char *metric_name, char *metric_group),
|
char *metric_name, char *metric_group,
|
||||||
|
char *socname),
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
@ -536,6 +542,7 @@ int json_events(const char *fn,
|
||||||
char *metric_expr = NULL;
|
char *metric_expr = NULL;
|
||||||
char *metric_name = NULL;
|
char *metric_name = NULL;
|
||||||
char *metric_group = NULL;
|
char *metric_group = NULL;
|
||||||
|
char *socname = NULL;
|
||||||
char *arch_std = NULL;
|
char *arch_std = NULL;
|
||||||
unsigned long long eventcode = 0;
|
unsigned long long eventcode = 0;
|
||||||
struct msrmap *msr = NULL;
|
struct msrmap *msr = NULL;
|
||||||
|
@ -622,6 +629,8 @@ int json_events(const char *fn,
|
||||||
addfield(map, &metric_expr, "", "", val);
|
addfield(map, &metric_expr, "", "", val);
|
||||||
for (s = metric_expr; *s; s++)
|
for (s = metric_expr; *s; s++)
|
||||||
*s = tolower(*s);
|
*s = tolower(*s);
|
||||||
|
} else if (json_streq(map, field, "SocName")) {
|
||||||
|
addfield(map, &socname, "", "", val);
|
||||||
} else if (json_streq(map, field, "ArchStdEvent")) {
|
} else if (json_streq(map, field, "ArchStdEvent")) {
|
||||||
addfield(map, &arch_std, "", "", val);
|
addfield(map, &arch_std, "", "", val);
|
||||||
for (s = arch_std; *s; s++)
|
for (s = arch_std; *s; s++)
|
||||||
|
@ -663,7 +672,8 @@ int json_events(const char *fn,
|
||||||
goto free_strings;
|
goto free_strings;
|
||||||
}
|
}
|
||||||
err = func(data, name, real_event(name, event), desc, long_desc,
|
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_strings:
|
||||||
free(event);
|
free(event);
|
||||||
free(desc);
|
free(desc);
|
||||||
|
@ -677,6 +687,7 @@ free_strings:
|
||||||
free(metric_expr);
|
free(metric_expr);
|
||||||
free(metric_name);
|
free(metric_name);
|
||||||
free(metric_group);
|
free(metric_group);
|
||||||
|
free(socname);
|
||||||
free(arch_std);
|
free(arch_std);
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
|
|
|
@ -7,7 +7,8 @@ int json_events(const char *fn,
|
||||||
char *long_desc,
|
char *long_desc,
|
||||||
char *pmu,
|
char *pmu,
|
||||||
char *unit, char *perpkg, char *metric_expr,
|
char *unit, char *perpkg, char *metric_expr,
|
||||||
char *metric_name, char *metric_group),
|
char *metric_name, char *metric_group,
|
||||||
|
char *socname),
|
||||||
void *data);
|
void *data);
|
||||||
char *get_cpu_str(void);
|
char *get_cpu_str(void);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ struct pmu_event {
|
||||||
const char *metric_expr;
|
const char *metric_expr;
|
||||||
const char *metric_name;
|
const char *metric_name;
|
||||||
const char *metric_group;
|
const char *metric_group;
|
||||||
|
const char *socname;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue