* event synthesis.
*/
if (opts->initial_delay || target__has_cpu(&opts->target)) {
- if (evlist__add_dummy(evlist))
- return -ENOMEM;
-
- /* Disable tracking of mmaps on lead event. */
- pos = evlist__first(evlist);
- pos->tracking = 0;
- /* Set up dummy event. */
- pos = evlist__last(evlist);
- pos->tracking = 1;
+ pos = perf_evlist__get_tracking_event(evlist);
+ if (!evsel__is_dummy_event(pos)) {
+ /* Set up dummy event. */
- if (perf_evlist__add_dummy(evlist))
++ if (evlist__add_dummy(evlist))
+ return -ENOMEM;
+ pos = evlist__last(evlist);
+ perf_evlist__set_tracking_event(evlist, pos);
+ }
+
/*
* Enable the dummy event when the process is forked for
* initial_delay, immediately for system wide.