* Wangnan (F) <wangn...@huawei.com> 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 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 info currently stored in the user space ring buffer to
> >>>>perf.data file.
> >>>I would very much like to first fix the perf overwrite mode: see
> >>>lkml.kernel.org/r/20151023151205.gw11...@twins.programming.kicks-ass.net
> >>I think they can be done in parallel. We can first do something with
> >>tracking events and perf's output file, and wait for kernel level
> >>overwrite mode fixed, then decide whether to implement perf's own
> >>ringbuffer.
> >That seems backwards; why would you ever want to endlessly copy the
> >events if you're not going to use them?
> 
> I agree that we need to fixing overwrite mode. However, user space ringbuffer 
> can be more flexible. for example, dynamically shrinking and expansion. It 
> would 
> be hard in kernel I think, and I'm not sure how much flexibility we need. 
> Doing 
> things in kernel always more difficult than in userspace.
> 
> 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 an even lower overhead always-enabled background tracing mode 
of 
perf.

Resizing shouldn't be much of an issue with existing features: if events start 
overflowing or some other threshold for dynamic increase of the ring-buffer is 
met 
then the daemon should open a new set of events with a larger ring-buffer, and 
close the old events once the new tracing ring-buffer is up and running.

Use event multiplexing to output all interesting events into the same single 
(per 
CPU) ring-buffer.

Thanks,

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to