Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-25 Thread Alexey Budankov
On 20.02.2019 17:14, Alexey Budankov wrote: > > On 12.02.2019 16:09, Jiri Olsa wrote: >> On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: >> >> SNIP >> >>> @@ -1147,6 +1193,10 @@ static int __cmd_record(struct record *rec, int >>> argc, const char **argv) >>> fd =

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-25 Thread Alexey Budankov
On 21.02.2019 14:24, Alexey Budankov wrote: > > On 21.02.2019 12:49, Jiri Olsa wrote: >> On Wed, Feb 20, 2019 at 06:24:30PM +0300, Alexey Budankov wrote: >>> >>> On 12.02.2019 16:08, Jiri Olsa wrote: On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP >

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-25 Thread Alexey Budankov
On 21.02.2019 14:23, Alexey Budankov wrote: > > On 21.02.2019 12:47, Jiri Olsa wrote: >> On Wed, Feb 20, 2019 at 05:15:13PM +0300, Alexey Budankov wrote: >>> >>> On 12.02.2019 16:08, Jiri Olsa wrote: On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP >

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-21 Thread Alexey Budankov
On 21.02.2019 12:49, Jiri Olsa wrote: > On Wed, Feb 20, 2019 at 06:24:30PM +0300, Alexey Budankov wrote: >> >> On 12.02.2019 16:08, Jiri Olsa wrote: >>> On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: >>> >>> SNIP >>> +static int perf_mmap__aio_mmap_blocks(struct perf_mmap

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-21 Thread Alexey Budankov
On 21.02.2019 12:47, Jiri Olsa wrote: > On Wed, Feb 20, 2019 at 05:15:13PM +0300, Alexey Budankov wrote: >> >> On 12.02.2019 16:08, Jiri Olsa wrote: >>> On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: >>> >>> SNIP >>> - if (rec->opts.nr_cblocks > nr_cblocks_max) -

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-21 Thread Jiri Olsa
On Wed, Feb 20, 2019 at 06:24:30PM +0300, Alexey Budankov wrote: > > On 12.02.2019 16:08, Jiri Olsa wrote: > > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > > > SNIP > > > >> +static int perf_mmap__aio_mmap_blocks(struct perf_mmap *map); > >> + > >> static int

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-21 Thread Jiri Olsa
On Wed, Feb 20, 2019 at 05:15:13PM +0300, Alexey Budankov wrote: > > On 12.02.2019 16:08, Jiri Olsa wrote: > > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > > > SNIP > > > >> - if (rec->opts.nr_cblocks > nr_cblocks_max) > >> - rec->opts.nr_cblocks =

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:08, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> +static int perf_mmap__aio_mmap_blocks(struct perf_mmap *map); >> + >> static int perf_mmap__aio_mmap(struct perf_mmap *map, struct mmap_params >> *mp) >> { >> -int

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:09, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: >> >> Implement -z,--compression_level= and --mmap-flush= >> options as well as a special PERF_RECORD_COMPRESSED record that contains >> compressed parts of kernel data buffer. >> >> Because

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:09, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> +static int process_compressed(struct feat_fd *ff, >> + void *data __maybe_unused) >> +{ >> +u64 compression_info; >> + >> +if

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:08, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> static void record__init_features(struct record *rec) >> @@ -838,6 +881,9 @@ static void record__init_features(struct record *rec) >> if (!(rec->opts.use_clockid &&

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:09, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> @@ -1147,6 +1193,10 @@ static int __cmd_record(struct record *rec, int argc, >> const char **argv) >> fd = perf_data__fd(data); >> rec->session = session; >> >> +

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:08, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> -if (rec->opts.nr_cblocks > nr_cblocks_max) >> -rec->opts.nr_cblocks = nr_cblocks_max; >> -if (verbose > 0) >> -pr_info("nr_cblocks: %d\n",

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:08, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h >> index d96eccd7d27f..0e14884f28b2 100644 >> --- a/tools/perf/util/session.h >> +++

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-20 Thread Alexey Budankov
On 12.02.2019 16:08, Jiri Olsa wrote: > On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > SNIP > >> static int process_synthesized_event(struct perf_tool *tool, >> union perf_event *event, >> struct

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > @@ -1147,6 +1193,10 @@ static int __cmd_record(struct record *rec, int argc, > const char **argv) > fd = perf_data__fd(data); > rec->session = session; > > + rec->opts.comp_level = 0; > +

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > +static int process_compressed(struct feat_fd *ff, > + void *data __maybe_unused) > +{ > + u64 compression_info; > + > + if (do_read_u64(ff, _info)) > + return -1; > + > +

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: > > Implement -z,--compression_level= and --mmap-flush= > options as well as a special PERF_RECORD_COMPRESSED record that contains > compressed parts of kernel data buffer. > > Because compression requires auxilary memory to

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > static void record__init_features(struct record *rec) > @@ -838,6 +881,9 @@ static void record__init_features(struct record *rec) > if (!(rec->opts.use_clockid && rec->opts.clockid_res_ns)) >

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h > index d96eccd7d27f..0e14884f28b2 100644 > --- a/tools/perf/util/session.h > +++ b/tools/perf/util/session.h > @@ -35,6 +35,8 @@ struct perf_session { >

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > - if (rec->opts.nr_cblocks > nr_cblocks_max) > - rec->opts.nr_cblocks = nr_cblocks_max; > - if (verbose > 0) > - pr_info("nr_cblocks: %d\n", rec->opts.nr_cblocks); > + if

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > +static int perf_mmap__aio_mmap_blocks(struct perf_mmap *map); > + > static int perf_mmap__aio_mmap(struct perf_mmap *map, struct mmap_params *mp) > { > - int delta_max, i, prio, ret; > + int i, ret = 0,

Re: [PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-12 Thread Jiri Olsa
On Mon, Feb 11, 2019 at 11:22:38PM +0300, Alexey Budankov wrote: SNIP > static int process_synthesized_event(struct perf_tool *tool, >union perf_event *event, >struct perf_sample *sample __maybe_unused, > @@ -543,7 +574,8

[PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-02-11 Thread Alexey Budankov
Implement -z,--compression_level= and --mmap-flush= options as well as a special PERF_RECORD_COMPRESSED record that contains compressed parts of kernel data buffer. Because compression requires auxilary memory to implement encoding of kernel data record->opts.nr_cblocks == -1 signifies to

[PATCH v2 2/4] perf record: implement -z= and --mmap-flush= options

2019-01-27 Thread Alexey Budankov
Implement -z,--compression_level= and --mmap-flush= options as well as a special PERF_RECORD_COMPRESSED record that contains compressed parts of kernel data buffer. Because compression requires auxiliary memory to implement encoding of kernel data record->opts.nr_cblocks == -1 signifies to