[PATH 0/2] perf: x86_64 rsp related changes

From: Jiri Olsa
Date: Thu Oct 04 2012 - 06:39:34 EST


On Wed, Oct 03, 2012 at 03:30:07PM +0200, Jiri Olsa wrote:
> On Wed, Oct 03, 2012 at 03:22:17PM +0200, Peter Zijlstra wrote:
> > On Wed, 2012-10-03 at 15:13 +0200, Jiri Olsa wrote:
> > > @@ -1190,8 +1191,8 @@ static inline void perf_sample_data_init(struct
> > > perf_sample_data *data,
> > > data->raw = NULL;
> > > data->br_stack = NULL;
> > > data->period = period;
> > > - data->regs_user.abi = PERF_SAMPLE_REGS_ABI_NONE;
> > > - data->regs_user.regs = NULL;
> > > + /* Sets abi to PERF_SAMPLE_REGS_ABI_NONE. */
> > > + memset(&data->regs_user, 0, sizeof(data->regs_user));
> > > data->stack_user_size = 0;
> > > }
> >
> > Hmm, this will slow down all events, regardless of whether they use any
> > of that stuff or not. Since the one user actually does something like:
> >
> > data->regs_user = *pt_regs;
> >
> > except it does a memcpy() for some obscure reason, it really doesn't
> > matter what is in there when uninitialized, right?
>
> right, the init can stay as it was
>
> jirka

I made the change and I split it into 2 patches,
should be more readable

1/2 perf x86_64: Fix rsp register for system call fast path
2/2 perf: Simplify the sample's user regs/stack retrieval

thanks,
jirka

Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
---
arch/x86/kernel/cpu/perf_event.c | 37 +++++++++++++++++++
include/linux/perf_event.h | 1 +
kernel/events/core.c | 74 ++++++++++++++++++++------------------
3 files changed, 77 insertions(+), 35 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/