Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-11 Thread Jiri Olsa
On Sun, Mar 10, 2019 at 07:17:08PM +0300, Alexey Budankov wrote: SNIP > > so to be on the same page.. normal processing without compression is: > > > > perf_mmap__push does: > > push(mmap buf) > > record__pushfn > > record__write > > write(buf) > > > >

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-10 Thread Alexey Budankov
On 08.03.2019 13:46, Jiri Olsa wrote: > On Thu, Mar 07, 2019 at 06:26:47PM +0300, Alexey Budankov wrote: >> >> On 07.03.2019 15:14, Jiri Olsa wrote: >>> On Thu, Mar 07, 2019 at 11:39:46AM +0300, Alexey Budankov wrote: On 05.03.2019 15:25, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-10 Thread Alexey Budankov
On 08.03.2019 13:46, Jiri Olsa wrote: > On Thu, Mar 07, 2019 at 06:26:47PM +0300, Alexey Budankov wrote: >> >> On 07.03.2019 15:14, Jiri Olsa wrote: >>> On Thu, Mar 07, 2019 at 11:39:46AM +0300, Alexey Budankov wrote: On 05.03.2019 15:25, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-08 Thread Jiri Olsa
On Thu, Mar 07, 2019 at 06:26:47PM +0300, Alexey Budankov wrote: > > On 07.03.2019 15:14, Jiri Olsa wrote: > > On Thu, Mar 07, 2019 at 11:39:46AM +0300, Alexey Budankov wrote: > >> > >> On 05.03.2019 15:25, Jiri Olsa wrote: > >>> On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: >

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 07.03.2019 18:26, Alexey Budankov wrote: > > On 07.03.2019 15:14, Jiri Olsa wrote: >> On Thu, Mar 07, 2019 at 11:39:46AM +0300, Alexey Budankov wrote: >>> >>> On 05.03.2019 15:25, Jiri Olsa wrote: On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: SNIP >

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 07.03.2019 15:14, Jiri Olsa wrote: > On Thu, Mar 07, 2019 at 11:39:46AM +0300, Alexey Budankov wrote: >> >> On 05.03.2019 15:25, Jiri Olsa wrote: >>> On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: >>> >>> SNIP >>> /* * Increment md->refcount to guard

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 07.03.2019 14:59, Jiri Olsa wrote: > On Thu, Mar 07, 2019 at 11:26:16AM +0300, Alexey Budankov wrote: >> >> On 05.03.2019 15:26, Jiri Olsa wrote: >>> On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: >>> >>> SNIP >>> +static size_t record__process_comp_header(void *record,

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Jiri Olsa
On Thu, Mar 07, 2019 at 11:39:46AM +0300, Alexey Budankov wrote: > > On 05.03.2019 15:25, Jiri Olsa wrote: > > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > > > SNIP > > > >> > >>/* > >> * Increment md->refcount to guard md->data[idx] buffer > >> @@ -350,7

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Jiri Olsa
On Thu, Mar 07, 2019 at 11:26:16AM +0300, Alexey Budankov wrote: > > On 05.03.2019 15:26, Jiri Olsa wrote: > > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > > > SNIP > > > >> +static size_t record__process_comp_header(void *record, size_t increment) > >> +{ > >> + struct

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 05.03.2019 15:25, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > SNIP > >> >> /* >> * Increment md->refcount to guard md->data[idx] buffer >> @@ -350,7 +357,7 @@ int perf_mmap__aio_push(struct perf_mmap *md, void *to, >> int idx, >>

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 05.03.2019 15:26, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > SNIP > >> +static int record__aio_enabled(struct record *rec); >> + >> static void record__aio_mmap_read_sync(struct record *rec) >> { >> int i; >> struct perf_evlist

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 05.03.2019 15:26, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > SNIP > >> +static size_t record__process_comp_header(void *record, size_t increment) >> +{ >> +struct compressed_event *event = record; >> +size_t size = sizeof(struct

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 05.03.2019 15:26, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > SNIP > >> >> +static size_t record__process_comp_header(void *record, size_t increment) >> +{ >> +struct compressed_event *event = record; >> +size_t size = sizeof(struct

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-07 Thread Alexey Budankov
On 05.03.2019 15:25, Jiri Olsa wrote: > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > SNIP > >> +static size_t record__zstd_compress(void *data, void *dst, size_t dst_size, >> +void *src, size_t src_size) >> +{ >> +size_t compressed; >> +struct

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-05 Thread Jiri Olsa
On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: SNIP > +static size_t record__process_comp_header(void *record, size_t increment) > +{ > + struct compressed_event *event = record; > + size_t size = sizeof(struct compressed_event); > + > + if (increment) { > +

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-05 Thread Jiri Olsa
On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: SNIP > +static int record__aio_enabled(struct record *rec); > + > static void record__aio_mmap_read_sync(struct record *rec) > { > int i; > struct perf_evlist *evlist = rec->evlist; > struct perf_mmap *maps =

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-05 Thread Jiri Olsa
On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: SNIP > > +static size_t record__process_comp_header(void *record, size_t increment) > +{ > + struct compressed_event *event = record; > + size_t size = sizeof(struct compressed_event); > + > + if (increment) { > +

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-05 Thread Jiri Olsa
On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: SNIP > +static size_t record__zstd_compress(void *data, void *dst, size_t dst_size, > + void *src, size_t src_size) > +{ > + size_t compressed; > + struct perf_session *session = data; > + /* maximum size of

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-05 Thread Jiri Olsa
On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: SNIP > > /* >* Increment md->refcount to guard md->data[idx] buffer > @@ -350,7 +357,7 @@ int perf_mmap__aio_push(struct perf_mmap *md, void *to, > int idx, > md->prev = head; > perf_mmap__consume(md);

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-05 Thread Alexey Budankov
On 05.03.2019 3:01, Andi Kleen wrote: > On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: > > Could do this as a follow up patch, but at some point the new > records need to be documented in Documentation/perf.data-file-format.txt Well, let's have it as a part of v6 04/10.

Re: [PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-04 Thread Andi Kleen
On Fri, Mar 01, 2019 at 06:58:32PM +0300, Alexey Budankov wrote: Could do this as a follow up patch, but at some point the new records need to be documented in Documentation/perf.data-file-format.txt -Andi

[PATCH v5 07/10] perf record: implement -z,--compression_level=n option and compression

2019-03-01 Thread Alexey Budankov
Implemented -z,--compression_level=n option that enables compression of mmaped kernel data buffers content in runtime during perf record sampling collection. Compression is implemented using the functions from zstd.c. As the memory to operate on the compression employs mmap->data buffer in case