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 <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Cc: Jiri Olsa <[email protected]>
---
 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to