Skip to content

Commit 11a4296

Browse files
martinetdacmel
authored andcommitted
perf parse-events: pass parse_state to add_tracepoint
The next patch will add another flag to parse_state that we will want to pass to evsel__newtp_idx(), so pass the whole parse_state all the way down instead of giving only the index Originally-by: Jiri Olsa <[email protected]> Reviewed-by: Ian Rogers <[email protected]> Signed-off-by: Dominique Martinet <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
1 parent 25626e1 commit 11a4296

File tree

3 files changed

+21
-15
lines changed

3 files changed

+21
-15
lines changed

tools/perf/util/parse-events.c

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -543,13 +543,14 @@ static void tracepoint_error(struct parse_events_error *e, int err,
543543
parse_events_error__handle(e, column, strdup(str), strdup(help));
544544
}
545545

546-
static int add_tracepoint(struct list_head *list, int *idx,
546+
static int add_tracepoint(struct parse_events_state *parse_state,
547+
struct list_head *list,
547548
const char *sys_name, const char *evt_name,
548549
struct parse_events_error *err,
549550
struct parse_events_terms *head_config, void *loc_)
550551
{
551552
YYLTYPE *loc = loc_;
552-
struct evsel *evsel = evsel__newtp_idx(sys_name, evt_name, (*idx)++);
553+
struct evsel *evsel = evsel__newtp_idx(sys_name, evt_name, parse_state->idx++);
553554

554555
if (IS_ERR(evsel)) {
555556
tracepoint_error(err, PTR_ERR(evsel), sys_name, evt_name, loc->first_column);
@@ -568,7 +569,8 @@ static int add_tracepoint(struct list_head *list, int *idx,
568569
return 0;
569570
}
570571

571-
static int add_tracepoint_multi_event(struct list_head *list, int *idx,
572+
static int add_tracepoint_multi_event(struct parse_events_state *parse_state,
573+
struct list_head *list,
572574
const char *sys_name, const char *evt_name,
573575
struct parse_events_error *err,
574576
struct parse_events_terms *head_config, YYLTYPE *loc)
@@ -602,7 +604,7 @@ static int add_tracepoint_multi_event(struct list_head *list, int *idx,
602604

603605
found++;
604606

605-
ret = add_tracepoint(list, idx, sys_name, evt_ent->d_name,
607+
ret = add_tracepoint(parse_state, list, sys_name, evt_ent->d_name,
606608
err, head_config, loc);
607609
}
608610

@@ -616,19 +618,21 @@ static int add_tracepoint_multi_event(struct list_head *list, int *idx,
616618
return ret;
617619
}
618620

619-
static int add_tracepoint_event(struct list_head *list, int *idx,
621+
static int add_tracepoint_event(struct parse_events_state *parse_state,
622+
struct list_head *list,
620623
const char *sys_name, const char *evt_name,
621624
struct parse_events_error *err,
622625
struct parse_events_terms *head_config, YYLTYPE *loc)
623626
{
624627
return strpbrk(evt_name, "*?") ?
625-
add_tracepoint_multi_event(list, idx, sys_name, evt_name,
628+
add_tracepoint_multi_event(parse_state, list, sys_name, evt_name,
626629
err, head_config, loc) :
627-
add_tracepoint(list, idx, sys_name, evt_name,
630+
add_tracepoint(parse_state, list, sys_name, evt_name,
628631
err, head_config, loc);
629632
}
630633

631-
static int add_tracepoint_multi_sys(struct list_head *list, int *idx,
634+
static int add_tracepoint_multi_sys(struct parse_events_state *parse_state,
635+
struct list_head *list,
632636
const char *sys_name, const char *evt_name,
633637
struct parse_events_error *err,
634638
struct parse_events_terms *head_config, YYLTYPE *loc)
@@ -654,7 +658,7 @@ static int add_tracepoint_multi_sys(struct list_head *list, int *idx,
654658
if (!strglobmatch(events_ent->d_name, sys_name))
655659
continue;
656660

657-
ret = add_tracepoint_event(list, idx, events_ent->d_name,
661+
ret = add_tracepoint_event(parse_state, list, events_ent->d_name,
658662
evt_name, err, head_config, loc);
659663
}
660664

@@ -1291,7 +1295,8 @@ static int get_config_chgs(struct perf_pmu *pmu, struct parse_events_terms *head
12911295
return 0;
12921296
}
12931297

1294-
int parse_events_add_tracepoint(struct list_head *list, int *idx,
1298+
int parse_events_add_tracepoint(struct parse_events_state *parse_state,
1299+
struct list_head *list,
12951300
const char *sys, const char *event,
12961301
struct parse_events_error *err,
12971302
struct parse_events_terms *head_config, void *loc_)
@@ -1307,14 +1312,14 @@ int parse_events_add_tracepoint(struct list_head *list, int *idx,
13071312
}
13081313

13091314
if (strpbrk(sys, "*?"))
1310-
return add_tracepoint_multi_sys(list, idx, sys, event,
1315+
return add_tracepoint_multi_sys(parse_state, list, sys, event,
13111316
err, head_config, loc);
13121317
else
1313-
return add_tracepoint_event(list, idx, sys, event,
1318+
return add_tracepoint_event(parse_state, list, sys, event,
13141319
err, head_config, loc);
13151320
#else
1321+
(void)parse_state;
13161322
(void)list;
1317-
(void)idx;
13181323
(void)sys;
13191324
(void)event;
13201325
(void)head_config;

tools/perf/util/parse-events.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,8 @@ int parse_events__modifier_event(struct parse_events_state *parse_state, void *l
208208
int parse_events__modifier_group(struct parse_events_state *parse_state, void *loc,
209209
struct list_head *list, struct parse_events_modifier mod);
210210
int parse_events__set_default_name(struct list_head *list, char *name);
211-
int parse_events_add_tracepoint(struct list_head *list, int *idx,
211+
int parse_events_add_tracepoint(struct parse_events_state *parse_state,
212+
struct list_head *list,
212213
const char *sys, const char *event,
213214
struct parse_events_error *error,
214215
struct parse_events_terms *head_config, void *loc);

tools/perf/util/parse-events.y

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ tracepoint_name opt_event_config
497497
if (!list)
498498
YYNOMEM;
499499

500-
err = parse_events_add_tracepoint(list, &parse_state->idx, $1.sys, $1.event,
500+
err = parse_events_add_tracepoint(parse_state, list, $1.sys, $1.event,
501501
error, $2, &@1);
502502

503503
parse_events_terms__delete($2);

0 commit comments

Comments
 (0)