Re: [PATCH 3/3] perf record/report: Process events in order

From: Ian Munsie
Date: Mon Dec 06 2010 - 08:11:47 EST


Excerpts from Thomas Gleixner's message of Tue Dec 07 00:04:20 +1100 2010:
> > I just moved them into this routine to keep all the dispatching in one
> > place, whether delayed or not. These particular events will still be
> > processed immediately when encountered in the file. Only >=
> > PERF_RECORD_MMAP && <= PERF_RECORD_SAMPLE will be delayed via the
> > perf_session__process_timed function.
>
> Gah. This is nasty. I really prefer the explicit split of instant
> processed and possibly delayed events. That makes the code clear and
> easy to extend. I just want to add a new event type at the right place
> and not worry about magic comparisions in some other place.

Fair enough, I'll split them back out.

> > For instance, suppose we ran this on an old kernel without support for
> > timestamps on every event (so timestamps are only on sample events):
> >
> > perf record -T
> > perf report
> >
> > If perf report tried to process the events in order, all the events
> > without timestamps would be processed first -- including the
> > PERF_RECORD_EXIT event, which would cause every sample not to be
> > attributed. Falling back means we should get no worse than the old
> > behaviour, while an upgraded kernel will provide the timestamps and
> > should not fall back.
>
> Ok, but you'll break existing code which does only care about sample
> ordering if you do that at the session level unconditionally.

Good point. I'll give this some thought overnight.

Cheers,
-Ian
--
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/