Re: [PATCHv3 00/19] perf tools: Factor ordered samples queue

From: Jiri Olsa
Date: Mon Jul 21 2014 - 05:54:39 EST


On Mon, Jul 21, 2014 at 11:47:35AM +0300, Adrian Hunter wrote:

SNIP

> >>> If PERF_RECORD_FINISHED_ROUND is missing the queue will
> >>
> >> Why is it missing?
> >
> > it's stored only for tracepoints now patch 17 fixies that
>
> Wouldn't that make a huge difference all by itself?
>
> I would make that the first patch, and measure the difference
> that it makes by itself.

yes, that makes the difference.. still I think it's good to control
perf memory allocation and do not let it take gigabytes just because
this event is missing

> >> How do you know the results are still valid? Wouldn't it
> >> be better to wait that extra 15% and know that the data has
> >> been processed correctly?
> >
> > The HALF flush could cause the out of order message
> > (which I get occasionaly anyway). Patch 19 allows
>
> Occasional out-of-order messages would be worth investigating
> IMHO. Either there is a bug or there is some "interesting"
> data being recorded.

I've got it via 'perf timechart record -I' sometimes:

[jolsa@ibm-x3650m4-01 perf]$ sudo ./perf timechart record -I
^C[ perf record: Woken up 337 times to write data ]
[ perf record: Captured and wrote 290.256 MB perf.data (~12681486 samples) ]
Warning:
Processed 3365931 events and lost 1 chunks!

Check IO/CPU overload!

[jolsa@ibm-x3650m4-01 perf]$ sudo ./perf report --stdio
Timestamp below last timeslice flush
0x2276f58 [0x68]: failed to process type: 9
# To display the perf.data header info, please use --header/--header-only options.
#

I think the reaon might be that one of the CPU mmap buffer
is behind and got data after the round finishes for its
timestamp.. but I haven't checked deeply on this yet

>
> > out of order events after HALF flush.
> >
> > The main reason for me was to control the memory allocation,
> > which could get enormous without ROUND events being stored.
>
> But now you are storing them...
>
> > The 100MB queue limit seems to be enough not to hit out of
> > order event due to the HALF flush.
>
> ...so is the 100MB limit needed at all if you have ROUND
> events?

for data files captured without the ROUND events fix

jirka
--
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/