Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753149AbbKZJTY (ORCPT ); Thu, 26 Nov 2015 04:19:24 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:37752 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752321AbbKZJTO (ORCPT ); Thu, 26 Nov 2015 04:19:14 -0500 Date: Thu, 26 Nov 2015 10:19:10 +0100 From: Ingo Molnar To: "Wangnan (F)" Cc: Peter Zijlstra , Yunlong Song , paulus@samba.org, mingo@redhat.com, acme@kernel.org, linux-kernel@vger.kernel.org, namhyung@kernel.org, ast@kernel.org, masami.hiramatsu.pt@hitachi.com, kan.liang@intel.com, adrian.hunter@intel.com, jolsa@kernel.org, dsahern@gmail.com, bp@alien8.de, jean.pihet@linaro.org, rric@kernel.org, xiakaixu@huawei.com, hekuang@huawei.com Subject: Re: [PATCH] perf record: Add snapshot mode support for perf's regular events Message-ID: <20151126091910.GA6380@gmail.com> References: <1448373632-8806-1-git-send-email-yunlong.song@huawei.com> <20151125092728.GZ17308@twins.programming.kicks-ass.net> <565582E0.7070202@huawei.com> <20151125122038.GA17308@twins.programming.kicks-ass.net> <5655AF89.8070907@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5655AF89.8070907@huawei.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2422 Lines: 52 * 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 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.GW11639@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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/