From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758123Ab2DXXp2 (ORCPT ); Tue, 24 Apr 2012 19:45:28 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:46848 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753653Ab2DXXp1 (ORCPT ); Tue, 24 Apr 2012 19:45:27 -0400 X-Originating-IP: 217.70.178.131 X-Originating-IP: 50.43.46.74 Date: Tue, 24 Apr 2012 16:45:14 -0700 From: Josh Triplett To: Minho Ban Cc: Peter Zijlstra , Ingo Molnar , linux-kernel@vger.kernel.org, Steven Rostedt , Frederic Weisbecker , Paul Turner , Thomas Gleixner , Hidetoshi Seto , "Paul E. McKenney" Subject: Re: [RFC/PATCH] Prevent wasting time to find out get_parent_ip Message-ID: <20120424234513.GA11841@leaf> References: <4F969E53.9080307@samsung.com> <1335272025.28150.193.camel@twins> <4F9737CC.6010703@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F9737CC.6010703@samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 25, 2012 at 08:31:24AM +0900, Minho Ban wrote: > On 04/24/2012 09:53 PM, Peter Zijlstra wrote: > > On Tue, 2012-04-24 at 21:36 +0900, Minho Ban wrote: > >> trace_preempt_on/off looks empty if PREEMPT_TRACER is off. But actually it is > >> spending time to find out get_parent_ip(even CALLER_ADDR for some ARCH) which is > >> in argument. This seems not fair for those who expect to do nothing but increase > >> or decrease count. > > > > You can do the same by making them CPP macros and adding a comment as to > > why they're macros instead of inlines.. > > > > Thank you for pointing this out, certainly macros look better. I'll amend this. As an alternative, how about making get_parent_ip and its called functions static inlines? Then the compiler can eliminate them via dead code elimination. Or, how about declaring get_parent_ip with the GCC "pure" attribute? That would tell GCC that it can safely eliminate calls to the function. - Josh Triplett