Messages in this thread | | | Date | Thu, 14 Nov 2019 09:50:11 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3 01/10] perf/cgroup: Reorder perf_cgroup_connect() |
| |
Hurm, you didn't fix my missing Changelog..
On Wed, Nov 13, 2019 at 04:30:33PM -0800, Ian Rogers wrote: > From: Peter Zijlstra <peterz@infradead.org>
Move perf_cgroup_connect() after perf_event_alloc(), such that we can find/use the PMU's cpu context.
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > Signed-off-by: Ian Rogers <irogers@google.com> > --- > kernel/events/core.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/kernel/events/core.c b/kernel/events/core.c > index cfd89b4a02d8..0dce28b0aae0 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -10597,12 +10597,6 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu, > if (!has_branch_stack(event)) > event->attr.branch_sample_type = 0; > > - if (cgroup_fd != -1) { > - err = perf_cgroup_connect(cgroup_fd, event, attr, group_leader); > - if (err) > - goto err_ns; > - } > - > pmu = perf_init_event(event); > if (IS_ERR(pmu)) { > err = PTR_ERR(pmu); > @@ -10615,6 +10609,12 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu, > goto err_pmu; > } > > + if (cgroup_fd != -1) { > + err = perf_cgroup_connect(cgroup_fd, event, attr, group_leader); > + if (err) > + goto err_pmu; > + } > + > err = exclusive_event_init(event); > if (err) > goto err_pmu; > @@ -10675,12 +10675,12 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu, > exclusive_event_destroy(event); > > err_pmu: > + if (is_cgroup_event(event)) > + perf_detach_cgroup(event); > if (event->destroy) > event->destroy(event); > module_put(pmu->module); > err_ns: > - if (is_cgroup_event(event)) > - perf_detach_cgroup(event); > if (event->ns) > put_pid_ns(event->ns); > if (event->hw.target) > -- > 2.24.0.432.g9d3f5f5b63-goog >
| |