Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-12-02 Thread Wangnan (F)
Hi Peter, On 2015/11/25 17:27, Peter Zijlstra wrote: On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: In our patch, we create and maintain a user space ring buffer to store perf's tracing info, instead of directly writing to perf.data file as before. In snapshot mode, only a SIGUSR

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-26 Thread Ingo Molnar
* Ingo Molnar wrote: > So if an overwrite-mode background tracing session is running, you don't even > have > to signal it to capture the ring-buffer: just open the ring-buffer fd in > procfs, > under /proc/XYZ/perf/ring-buffers/5.trace or so, and dump its current > contents, > assuming th

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-26 Thread Ingo Molnar
* Ingo Molnar wrote: > > * Ingo Molnar wrote: > > > > But yes, we can do that userspace ring buffer when we really need it. At > > > very first we can start working on perf side and assume overwrite mode is > > > ready. > > > > I don't think Peter asked for much: pick up the patch he has a

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-26 Thread Ingo Molnar
* Ingo Molnar wrote: > > But yes, we can do that userspace ring buffer when we really need it. At > > very > > first we can start working on perf side and assume overwrite mode is ready. > > I don't think Peter asked for much: pick up the patch he has already written > and > use it, to have

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-26 Thread Wangnan (F)
On 2015/11/26 17:19, Ingo Molnar wrote: * Wangnan (F) wrote: On 2015/11/25 20:20, Peter Zijlstra wrote: On Wed, Nov 25, 2015 at 05:44:00PM +0800, Wangnan (F) wrote: On 2015/11/25 17:27, Peter Zijlstra wrote: On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: In our patch, we

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-26 Thread Ingo Molnar
* Wangnan (F) wrote: > > > On 2015/11/25 20:20, Peter Zijlstra wrote: > >On Wed, Nov 25, 2015 at 05:44:00PM +0800, Wangnan (F) wrote: > >> > >>On 2015/11/25 17:27, Peter Zijlstra wrote: > >>>On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: > In our patch, we create and maintai

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Wangnan (F)
On 2015/11/25 20:20, Peter Zijlstra wrote: On Wed, Nov 25, 2015 at 05:44:00PM +0800, Wangnan (F) wrote: On 2015/11/25 17:27, Peter Zijlstra wrote: On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: In our patch, we create and maintain a user space ring buffer to store perf's trac

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Yunlong Song
On 2015/11/24 22:30, Arnaldo Carvalho de Melo wrote: > Looks like an interesting feature, if for no other reason, to match what > we have for aux area tracing. > > But perhaps having an event in the stream itself that would signal when > to dump the snapshot would be a better approach? > > One t

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Peter Zijlstra
On Wed, Nov 25, 2015 at 05:44:00PM +0800, Wangnan (F) wrote: > > > On 2015/11/25 17:27, Peter Zijlstra wrote: > >On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: > >>In our patch, we create and maintain a user space ring buffer to store > >>perf's tracing info, instead of directly wr

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Wangnan (F)
On 2015/11/25 17:27, Peter Zijlstra wrote: On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: In our patch, we create and maintain a user space ring buffer to store perf's tracing info, instead of directly writing to perf.data file as before. In snapshot mode, only a SIGUSR2 signal

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Peter Zijlstra
On Tue, Nov 24, 2015 at 10:00:31PM +0800, Yunlong Song wrote: > In our patch, we create and maintain a user space ring buffer to store > perf's tracing info, instead of directly writing to perf.data file as > before. In snapshot mode, only a SIGUSR2 signal can trigger perf to dump > the tracing inf

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Adrian Hunter
On 25/11/15 10:43, Wangnan (F) wrote: > > > On 2015/11/25 16:27, Adrian Hunter wrote: >> On 25/11/15 09:47, Wangnan (F) wrote: >>> >>> On 2015/11/25 15:22, Adrian Hunter wrote: On 25/11/15 05:50, Wangnan (F) wrote: > On 2015/11/24 23:20, Arnaldo Carvalho de Melo wrote: >> Em Tue, Nov

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Wangnan (F)
On 2015/11/25 16:27, Adrian Hunter wrote: On 25/11/15 09:47, Wangnan (F) wrote: On 2015/11/25 15:22, Adrian Hunter wrote: On 25/11/15 05:50, Wangnan (F) wrote: On 2015/11/24 23:20, Arnaldo Carvalho de Melo wrote: Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: On 11/24/15

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-25 Thread Adrian Hunter
On 25/11/15 09:47, Wangnan (F) wrote: > > > On 2015/11/25 15:22, Adrian Hunter wrote: >> On 25/11/15 05:50, Wangnan (F) wrote: >>> >>> On 2015/11/24 23:20, Arnaldo Carvalho de Melo wrote: Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: > On 11/24/15 7:00 AM, Yunlong Song

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Yunlong Song
On 2015/11/24 23:06, David Ahern wrote: > > So you are basically ignoring all samples until SIGUSR2 is received. That > means the resulting data file will have limited history of task events for > example. And for other events the quantity is random as to when the mmaps > were last scanned. >

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Wangnan (F)
On 2015/11/25 15:22, Adrian Hunter wrote: On 25/11/15 05:50, Wangnan (F) wrote: On 2015/11/24 23:20, Arnaldo Carvalho de Melo wrote: Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: On 11/24/15 7:00 AM, Yunlong Song wrote: +static int record__write(struct record *rec, void *

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Adrian Hunter
On 25/11/15 05:50, Wangnan (F) wrote: > > > On 2015/11/24 23:20, Arnaldo Carvalho de Melo wrote: >> Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: >>> On 11/24/15 7:00 AM, Yunlong Song wrote: +static int record__write(struct record *rec, void *bf, size_t size) +{ +

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread David Ahern
On 11/24/15 8:50 PM, Wangnan (F) wrote: Actually we are discussing about this problem. For such tracking events (PERF_RECORD_FORK...), we have dummy event so it is possible for us to receive tracking events from a separated channel, therefore we don't have to parse every events to pick those eve

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Wangnan (F)
On 2015/11/24 23:20, Arnaldo Carvalho de Melo wrote: Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: On 11/24/15 7:00 AM, Yunlong Song wrote: +static int record__write(struct record *rec, void *bf, size_t size) +{ + if (rec->memory.size && memory_enabled) { +

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread David Ahern
On 11/24/15 8:40 AM, Arnaldo Carvalho de Melo wrote: perf-record without his patch? yes, but with his patch it does: __cmd_record() for (;;) record__mmap_read_all() record__write() perf_memory__write() event

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Arnaldo Carvalho de Melo
Em Tue, Nov 24, 2015 at 08:24:07AM -0700, David Ahern escreveu: > On 11/24/15 8:20 AM, Arnaldo Carvalho de Melo wrote: > >Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: > >>On 11/24/15 7:00 AM, Yunlong Song wrote: > >>>+static int record__write(struct record *rec, void *bf, size_t

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread David Ahern
On 11/24/15 8:20 AM, Arnaldo Carvalho de Melo wrote: Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: On 11/24/15 7:00 AM, Yunlong Song wrote: +static int record__write(struct record *rec, void *bf, size_t size) +{ + if (rec->memory.size && memory_enabled) { +

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Arnaldo Carvalho de Melo
Em Tue, Nov 24, 2015 at 08:06:41AM -0700, David Ahern escreveu: > On 11/24/15 7:00 AM, Yunlong Song wrote: > >+static int record__write(struct record *rec, void *bf, size_t size) > >+{ > >+if (rec->memory.size && memory_enabled) { > >+if (perf_memory__write(&rec->memory, bf, size) <

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread David Ahern
On 11/24/15 7:00 AM, Yunlong Song wrote: +static int record__write(struct record *rec, void *bf, size_t size) +{ + if (rec->memory.size && memory_enabled) { + if (perf_memory__write(&rec->memory, bf, size) < 0) { + pr_err("failed to write memory data, err

Re: [PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Arnaldo Carvalho de Melo
Em Tue, Nov 24, 2015 at 10:00:32PM +0800, Yunlong Song escreveu: > For aux area tracing, there is already a snapshot mode support for > intel-pt and intel-bts events. Similarly, this patch adds a snapshot > mode for perf's regular events. A user space ring buffer is allocated to > handle the tracin

[PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Yunlong Song
For aux area tracing, there is already a snapshot mode support for intel-pt and intel-bts events. Similarly, this patch adds a snapshot mode for perf's regular events. A user space ring buffer is allocated to handle the tracing data from the kernel space ring buffer, and the tracing data will only

[PATCH] perf record: Add snapshot mode support for perf's regular events

2015-11-24 Thread Yunlong Song
This idea is issued and motivated from: https://lwn.net/Articles/650499/ After the first RFC is sent: http://lkml.iu.edu/hypermail/linux/kernel/1509.2/04347.html Both David Ahern and Borislav Petkov have replied to that RFC: http://lkml.iu.edu/hypermail/linux/kernel/1509.2/04350.html http://lkml.