|
|
|
@ -1667,8 +1667,7 @@ retry: |
|
|
|
|
* Note: this works for group members as well as group leaders |
|
|
|
|
* since the non-leader members' sibling_lists will be empty. |
|
|
|
|
*/ |
|
|
|
|
static void __perf_event_mark_enabled(struct perf_event *event, |
|
|
|
|
struct perf_event_context *ctx) |
|
|
|
|
static void __perf_event_mark_enabled(struct perf_event *event) |
|
|
|
|
{ |
|
|
|
|
struct perf_event *sub; |
|
|
|
|
u64 tstamp = perf_event_time(event); |
|
|
|
@ -1706,7 +1705,7 @@ static int __perf_event_enable(void *info) |
|
|
|
|
*/ |
|
|
|
|
perf_cgroup_set_timestamp(current, ctx); |
|
|
|
|
|
|
|
|
|
__perf_event_mark_enabled(event, ctx); |
|
|
|
|
__perf_event_mark_enabled(event); |
|
|
|
|
|
|
|
|
|
if (!event_filter_match(event)) { |
|
|
|
|
if (is_cgroup_event(event)) |
|
|
|
@ -1787,7 +1786,7 @@ void perf_event_enable(struct perf_event *event) |
|
|
|
|
|
|
|
|
|
retry: |
|
|
|
|
if (!ctx->is_active) { |
|
|
|
|
__perf_event_mark_enabled(event, ctx); |
|
|
|
|
__perf_event_mark_enabled(event); |
|
|
|
|
goto out; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -2466,7 +2465,7 @@ static int event_enable_on_exec(struct perf_event *event, |
|
|
|
|
if (event->state >= PERF_EVENT_STATE_INACTIVE) |
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
|
__perf_event_mark_enabled(event, ctx); |
|
|
|
|
__perf_event_mark_enabled(event); |
|
|
|
|
|
|
|
|
|
return 1; |
|
|
|
|
} |
|
|
|
|