From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759161AbZCYJxR (ORCPT ); Wed, 25 Mar 2009 05:53:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753233AbZCYJw7 (ORCPT ); Wed, 25 Mar 2009 05:52:59 -0400 Received: from mx2.mail.elte.hu ([157.181.151.9]:42358 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752681AbZCYJw6 (ORCPT ); Wed, 25 Mar 2009 05:52:58 -0400 Date: Wed, 25 Mar 2009 10:52:29 +0100 From: Ingo Molnar To: Steven Rostedt Cc: linux-kernel@vger.kernel.org, Andrew Morton , Thomas Gleixner , Peter Zijlstra , Frederic Weisbecker , Tim Bird Subject: Re: [PATCH 0/5][RFC] [RFC] function profiler Message-ID: <20090325095229.GG2341@elte.hu> References: <20090325035646.662994901@goodmis.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090325035646.662994901@goodmis.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.3 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Steven Rostedt wrote: > The following patches are RFC, and to discuss is this work would be > useful. > > This patch series adds a function profiler hook to the function tracer > and function graph tracer. That is, it uses the mcount calls to track the > functions being called. Now with the function graph tracer it also > keeps track of the times the functions have been executing. > > Note, this is similar to oprofile, but is not a sampling approach, but > a true recorder. Of course, by recording every function the overhead > compared to oprofile is higher. With the use of dynamic ftrace, you could > just trace certain functions, or just a certain module. The flexibility > is a bit greater with this profiling. > > The last patch adds another feature to the function graph. It gives > the ability to only trace the amount of time inside a function and > not the amount spent in sub functions that are also recorded. That is, > if A calls B, you can decide if the time spent in A should include the > time spent in B. This is an option added to trace_options. > > Again, this is all RFC, but if there is any interest in having this > feature, prehaps we should include it. > > -- Steve > > > The following patches are in: > > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git > > branch: rfc/tip/tracing/function-profiler > > > Steven Rostedt (5): > tracing: add function profiler > tracing: move function profiler data out of function struct > tracing: adding function timings to function profiler > tracing: make the function profiler per cpu > function-graph: add option to calculate graph time or not > > ---- > include/linux/ftrace.h | 3 +- > kernel/trace/Kconfig | 15 + > kernel/trace/ftrace.c | 558 +++++++++++++++++++++++++++++++++- > kernel/trace/trace.c | 15 +- > kernel/trace/trace.h | 4 +- > kernel/trace/trace_functions_graph.c | 25 ++- > kernel/trace/trace_output.c | 10 + > kernel/trace/trace_output.h | 2 + > 8 files changed, 608 insertions(+), 24 deletions(-) Pulled into tip:tracing/profiling, thanks Steve! Ingo