Re: heads up/RFC: 'perf trace' using ordered_events

From: Namhyung Kim
Date: Tue Mar 10 2015 - 20:39:48 EST


Hi David,

On Tue, Mar 10, 2015 at 08:25:27AM -0600, David Ahern wrote:
> On 3/10/15 12:06 AM, Namhyung Kim wrote:
> >Hi Arnaldo,
> >
> >On Mon, Mar 09, 2015 at 10:21:35AM -0300, Arnaldo Carvalho de Melo wrote:
> >>For trace I need to take advantage of the fact that each mmap is ordered
> >>already and then just sort by the timestamp in the mmap head, etc.
> >>
> >>In retrospect, the perf.data file should have kept that ordering, i.e.
> >>have one file per mmap, that would be saved in parallel, without any of
> >>those PERF_RECORD_FINISHED_ROUND records.
> >>
> >>But I have to experiment with that, leaving the existing code around to
> >>deal with older files.
> >
> >It seems like what you said is almost same as my multi-thread work.
> >It saves data files per mmap and then merges them with an index
> >table so that they can be processed in parallel.
>
> I think you and Jiri both have worked on saving a file per mmap. Where does
> that stand? I would like to try it out.

It's available on perf/threaded-v3 branch in my tree.

You can see the description and numbers at

https://lkml.org/lkml/2015/3/2/988.

Also you can index your data file and then process with multi-thread:

$ perf data index -i perf.data -o perf.data.idx
$ perf report --multi-thread -i perf.data.idx

Thanks,
Namhyung


>
> With the 1024 cpu systems I am seeing 5GB files in 1 second runs and perf is
> not handling it well. The perf-script/perf-report (stdio) will 'hang' for 45
> minutes munging through the file. I have to connect gdb from time to time to
> verify it is making progress (file_offset is increasing). I believe what
> happens is that there is 'no round' -- it has to process all mmaps (1024
> cpus and 6 or 7 events) through the ordered events queue before it can push
> out results. I need to look at that once I figure out the task scheduler
> problem.
>
> David
>
> --
> 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/
--
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/