Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-24 Thread Ingo Molnar
* Peter Zijlstra wrote: > I never can seem to figure out how to use the scripts mess :/ > acme, is there anything we could do to make that stuff usable? > There's a ton of crap under scripts/ but I don't even know how > to get that stuff to run. > > What's more, all that nonsense is in weird

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Andi Kleen
... NIH snipped ... > If you do this inside perf, you have access to more infrastructure > code, e.g., dwarf. > For instance, I am interested in getting a value profiling mode. That > means sampling > the values of function arguments. That needs some dwarf support and the PEBS > machine state. W

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Stephane Eranian
On Tue, Oct 23, 2012 at 3:45 PM, Andi Kleen wrote: >> I believe we can use a similar approach to PERF_SAMPLE_REGS to expose >> the PEBS machine state. We need to add PERF_SAMPLE_IREGS and then >> return interrupt machine registers with regular sampling and the PEBS machine >> registers in precise

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Andi Kleen
On Tue, Oct 23, 2012 at 03:50:50PM +0200, Peter Zijlstra wrote: > PERF_SAMPLE_RAW has a u32 size header and starts the data after that. > This means you PERF_SAMPLE_RAW output ends up on a u32 aligned end > address -- assuming the data is a u64 multiple, this is not good. > > > It appears to work

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Peter Zijlstra
On Tue, 2012-10-23 at 15:30 +0200, Andi Kleen wrote: > > Also, there's an alignment issue there, the raw.data is 32bit offset, > > the record is u64 aligned, leaving the output stream offset, wrecking > > things. > > Can you explain more? Not sure I understand. PERF_SAMPLE_RAW has a u32 size head

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Andi Kleen
> I believe we can use a similar approach to PERF_SAMPLE_REGS to expose > the PEBS machine state. We need to add PERF_SAMPLE_IREGS and then > return interrupt machine registers with regular sampling and the PEBS machine > registers in precise mode. A while back I wrote a patch to do just this. Once

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Andi Kleen
> Also, there's an alignment issue there, the raw.data is 32bit offset, > the record is u64 aligned, leaving the output stream offset, wrecking > things. Can you explain more? Not sure I understand. It appears to work at least. > > And as with any ABI extension, it should come with useful users

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Stephane Eranian
On Tue, Oct 23, 2012 at 2:31 PM, Peter Zijlstra wrote: > On Thu, 2012-10-18 at 16:19 -0700, Andi Kleen wrote: >> + if (event->attr.sample_type & PERF_SAMPLE_RAW) { >> + raw.size = x86_pmu.pebs_record_size; >> + raw.data = __pebs; >> + data.raw = &raw

Re: [PATCH 05/34] perf, x86: Report PEBS event in a raw format

2012-10-23 Thread Peter Zijlstra
On Thu, 2012-10-18 at 16:19 -0700, Andi Kleen wrote: > + if (event->attr.sample_type & PERF_SAMPLE_RAW) { > + raw.size = x86_pmu.pebs_record_size; > + raw.data = __pebs; > + data.raw = &raw; > + } The Changelog babbles about registers, yet you