All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ian Munsie <imunsie@au1.ibm.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Mike Galbraith <efault@gmx.de>, Paul Mackerras <paulus@samba.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH 3/3] perf record/report: Process events in order
Date: Tue, 7 Dec 2010 08:54:46 -0200	[thread overview]
Message-ID: <20101207105446.GA6911@ghostprotocols.net> (raw)
In-Reply-To: <alpine.LFD.2.00.1012070942070.2653@localhost6.localdomain6>

Em Tue, Dec 07, 2010 at 11:47:35AM +0100, Thomas Gleixner escreveu:
> On Tue, 7 Dec 2010, Ian Munsie wrote:
> > Makes sense. I did something similar in the report layer that I was
> > about to send when I saw this email, but this way we have a generic
> > solution for other parts of perf that might want this.
> > The problem here is that we only get the PERF_RECORD_HEADER_ATTR if perf
> > record has been piped somewhere, so running perf record <load>; perf
> > report on an unpatched kernel results in the COMM, MMAP, etc events
> > being processed last (timestamp -1ULL) and no userspace samples are
> > attributed at all:
> 
> Ok. We need to treat timestamp ~0ULL the same as timestamp 0ULL then.

Right.
  
> > > +    event__parse_sample(event, session, &sample);
> > > +    if (dump_trace)
> > > +        perf_session__print_tstamp(session, event, &sample);
> > 
> > Moving this here after the dump_printf("%#Lx [%#x]: PERF_RECORD_%s"...
> > changes the output of perf report -D in a bad way. Changing the spacing
> > in dump_printf can make up for it, or juggle the code around some more.
> 
> Crap. I wanted to restrict the sample parsing to the real events w/o
> having this magic comparison in place as we filter out the synth stuff
> in the switch case already. 
> 
> > How do you want to proceed? At this point either version of the patches
> > are pretty functionally equivelant. Mine does the perf report -D
> 
> Hmm. Arnaldo merged my version already.
> 
> > reordering as well, but that isn't really necessary to solve the bug.
> > Either way we only have a few minor fixups left.
> 
> Having time ordered output of -D needs more than fixing the time stamp
> issue. The dump_printf/dump_trace stuff is scattered all over the
> place. So that needs more code churn, as you want to output the non
> synth events when the ordered queue is drained.

We can fix that, but then it was supposed to be a dump, something as it
comes from the perf.data file.

Perhaps we need something new, that does ordered dumps, I think we can
just move all the dump_fprintf stuff to one place, and have calls for
those where it is now (unordered) and another one from the ordered
place, but looking at different debug variables?

- Arnaldo

  reply	other threads:[~2010-12-07 10:54 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-04 22:26 [GIT PULL 0/5] perf/core: Support for PERF_SAMPLE_ in all events Arnaldo Carvalho de Melo
2010-12-04 22:26 ` [PATCH 1/5] perf events: Fix event inherit fallout of precalculated headers Arnaldo Carvalho de Melo
2010-12-04 22:26 ` [PATCH 2/5] perf events: Separate the routines handling the PERF_SAMPLE_ identity fields Arnaldo Carvalho de Melo
2010-12-04 22:26 ` [PATCH 3/5] perf events: Make sample_type identity fields available in all PERF_RECORD_ events Arnaldo Carvalho de Melo
2010-12-04 22:26 ` [PATCH 4/5] perf session: Parse sample earlier Arnaldo Carvalho de Melo
2010-12-04 22:26 ` [PATCH 5/5] perf tools: Ask for ID PERF_SAMPLE_ info on all PERF_RECORD_ events Arnaldo Carvalho de Melo
2010-12-05 13:32 ` [Patch] perf: session: Sort all events if ordered_samples=true Thomas Gleixner
2010-12-06  2:37   ` Process events in order if recording from multiple CPUs Ian Munsie
2010-12-06  2:37   ` [PATCH 1/3] perf tool: Better displaying of unresolved DSOs and symbols Ian Munsie
2010-12-07  6:56     ` [tip:perf/core] perf hist: " tip-bot for Ian Munsie
2010-12-06  2:37   ` [PATCH 2/3] perf: Move all output for perf report -D into trace_event Ian Munsie
2010-12-06  2:37   ` [PATCH 3/3] perf record/report: Process events in order Ian Munsie
2010-12-06  9:20     ` Thomas Gleixner
2010-12-06 12:42       ` Ian Munsie
2010-12-06 13:04         ` Thomas Gleixner
2010-12-06 13:11           ` Ian Munsie
2010-12-06 14:41             ` Thomas Gleixner
2010-12-07  1:15               ` Ian Munsie
2010-12-07 10:47                 ` Thomas Gleixner
2010-12-07 10:54                   ` Arnaldo Carvalho de Melo [this message]
2010-12-07 12:24                     ` Thomas Gleixner
2010-12-07  6:57   ` [tip:perf/core] perf session: Sort all events if ordered_samples=true tip-bot for Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101207105446.GA6911@ghostprotocols.net \
    --to=acme@ghostprotocols.net \
    --cc=a.p.zijlstra@chello.nl \
    --cc=efault@gmx.de \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=imunsie@au1.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.