Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758687AbZDQANm (ORCPT ); Thu, 16 Apr 2009 20:13:42 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757388AbZDQANa (ORCPT ); Thu, 16 Apr 2009 20:13:30 -0400 Received: from tomts10-srv.bellnexxia.net ([209.226.175.54]:46824 "EHLO tomts10-srv.bellnexxia.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755736AbZDQAN3 (ORCPT ); Thu, 16 Apr 2009 20:13:29 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiAFAJtj50lMQW1W/2dsb2JhbACBTs5vg30G Date: Thu, 16 Apr 2009 20:13:17 -0400 From: Mathieu Desnoyers To: Jeremy Fitzhardinge Cc: Steven Rostedt , linux-kernel@vger.kernel.org, Ingo Molnar , Andrew Morton , Thomas Gleixner , Peter Zijlstra , Frederic Weisbecker , Theodore Tso , Arjan van de Ven , Christoph Hellwig , Lai Jiangshan , Zhaolei , Li Zefan , KOSAKI Motohiro , Masami Hiramatsu , "Frank Ch. Eigler" , Tom Zanussi , Jiaying Zhang , Michael Rubin , Martin Bligh , Peter Zijlstra , Neil Horman , Eduard - Gabriel Munteanu , Pekka Enberg Subject: Re: [PATCH 2/8] tracing: create automated trace defines Message-ID: <20090417001317.GB20513@Krystal> References: <20090414172337.280621613@goodmis.org> <20090414172640.796858018@goodmis.org> <49E51FC1.8090306@goop.org> <20090415014548.GA7984@Krystal> <49E6065B.7080409@goop.org> <20090416023456.GC22378@Krystal> <49E69E76.9030608@goop.org> <20090416234410.GA20513@Krystal> <49E7C74A.8030100@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <49E7C74A.8030100@goop.org> X-Editor: vi X-Info: http://krystal.dyndns.org:8080 X-Operating-System: Linux/2.6.21.3-grsec (i686) X-Uptime: 20:08:56 up 47 days, 20:35, 3 users, load average: 0.39, 0.75, 0.64 User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1243 Lines: 39 * Jeremy Fitzhardinge (jeremy@goop.org) wrote: > Mathieu Desnoyers wrote: >> The other point I dislike about the out-of-line approach is that the >> tracer will suffer from a pointless supplementary function call at each >> event. Given how slow function calls are, at least on x86, I'd prefer >> leaving the handler call chain inline, unless there is a very strong >> reason not to do so. >> > > Are they? They're generally considered to be "free", because the call > and return are predicted 100% accurately. > Adding a simple function call within the tracer fast path, in LTTng, has a very measurable performance impact on the tbench workload. This is why I don't use any function call-based trace clocks in LTTng, but rather my own inline trace clock. Mathieu >> I'll come up with a patch that leaves the tracepoint inline, but fixes >> the header dependency. >> > OK. > > J > -- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 -- 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/