Re: [BUG] perf report: ordered events and flushing bug

David Ahern
2015-03-12T19:53:37Z

On 3/12/15 1:39 PM, Stephane Eranian wrote:
> What the point of having all the ordered event logic if you are saying events
> must be saved in order. I don't think there is a way to make that guarantee
> when monitoring multiple CPUs at the same time.

The record command does not analyze the events, it just copies from mmap
to file in lumps per mmap. e.g., on a given round the perf data file has
events like this:

111112223344444444555566666F111111111
|<------- round --------->|^
|
finished round event -|

where 11111 are events read from mmap1, 2222 are events from mmap2, etc.
F is the finished round event which a pass over all mmaps has been done.

So for mmap1 all of the 11111 events are in time order, then jumping to
mmap2 events the 2222 times are time sorted relative to mmap2 but not
relative to mmap1 events.

The ordered events code sorts the clumps into a time based stream:
123141641445124564234645656...

David