[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150716214124.GB31962@us.ibm.com>
Date: Thu, 16 Jul 2015 14:41:24 -0700
From: Sukadev Bhattiprolu <sukadev@...ux.vnet.ibm.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Michael Ellerman <mpe@...erman.id.au>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-s390@...r.kernel.org, sparclinux@...r.kernel.org
Subject: Re: [PATCH v3 5/8] perf: Split perf_event_read_value()
Peter Zijlstra [peterz@...radead.org] wrote:
| On Tue, Jul 14, 2015 at 08:01:52PM -0700, Sukadev Bhattiprolu wrote:
| > Move the part of perf_event_read_value() that computes the event
| > counts and event times into a new function, perf_event_compute().
| >
| > This would allow us to call perf_event_compute() independently.
| >
| > Signed-off-by: Sukadev Bhattiprolu <sukadev@...ux.vnet.ibm.com>
| >
| > Changelog[v3]
| > Rather than move perf_event_read() into callers and then
| > rename, just move the computations into a separate function
| > (redesign to address comment from Peter Zijlstra).
| > ---
|
| Changelog[] bits go here, below the '---' where they get discarded.
Sorry. Will fix it.
|
| > kernel/events/core.c | 37 ++++++++++++++++++++++++-------------
| > 1 file changed, 24 insertions(+), 13 deletions(-)
| >
| > diff --git a/kernel/events/core.c b/kernel/events/core.c
| > index 44fb89d..b1e9a42 100644
| > --- a/kernel/events/core.c
| > +++ b/kernel/events/core.c
| > @@ -3704,6 +3704,29 @@ static int perf_release(struct inode *inode, struct file *file)
| > return 0;
| > }
| >
| > +static u64 perf_event_compute(struct perf_event *event, u64 *enabled,
| > + u64 *running)
|
| This is a horrible name, 'compute' what?
We are aggregating event counts and time for children.
Would perf_event_aggregate() or perf_event_aggregate_children()
be better?
|
| > +{
| > + struct perf_event *child;
| > + u64 total;
| > +
| > + total = perf_event_count(event);
| > +
| > + *enabled += event->total_time_enabled +
| > + atomic64_read(&event->child_total_time_enabled);
| > + *running += event->total_time_running +
| > + atomic64_read(&event->child_total_time_running);
| > +
|
| lockdep_assert_held(&event->child_mutex);
OK. Thanks for the comments.
Sukadev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists