From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756223AbZBYNCh (ORCPT ); Wed, 25 Feb 2009 08:02:37 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754109AbZBYNB4 (ORCPT ); Wed, 25 Feb 2009 08:01:56 -0500 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.125]:58584 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753750AbZBYNBz (ORCPT ); Wed, 25 Feb 2009 08:01:55 -0500 Date: Wed, 25 Feb 2009 08:01:51 -0500 (EST) From: Steven Rostedt X-X-Sender: rostedt@gandalf.stny.rr.com To: Peter Zijlstra cc: linux-kernel@vger.kernel.org, Ingo Molnar , Andrew Morton , Thomas Gleixner , Frederic Weisbecker , Theodore Tso , Arjan van de Ven , Pekka Paalanen , Arnaldo Carvalho de Melo , Jason Baron , Martin Bligh , Mathieu Desnoyers , "Frank Ch. Eigler" , KOSAKI Motohiro , Jens Axboe , Masami Hiramatsu , Steven Rostedt Subject: Re: [PATCH 1/4] tracing: add DEFINE_TRACE_FMT to tracepoint.h In-Reply-To: <1235543227.4645.2907.camel@laptop> Message-ID: References: <20090225025608.956691460@goodmis.org> <20090225025753.547618424@goodmis.org> <1235543227.4645.2907.camel@laptop> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 25 Feb 2009, Peter Zijlstra wrote: > On Tue, 2009-02-24 at 21:56 -0500, Steven Rostedt wrote: > > > +#define DEFINE_TRACE_FMT(name, proto, args, fmt) \ > > + DECLARE_TRACE(name, TPPROTO(proto), TPARGS(args)) > > + > > If TPPROTO and TPARGS were anything but empty stubs, the above would add > them twice, no? I guess I can rename them too. The problem comes from passing in more than one argument. If a proto or args has a comma, you get a nasty error about unmatched number of parameters. I believe that they were purposely made to be empty stubs to allow for multiple parameters. But you are right, if that changes we need to fix it. Since the above is only to protect against the substitution into multiple parameters, we could probably create a new macro name to just be #define PARAMS(args...) args #define DEFINE_TRACE_FMT(name, proto, args, fmt) \ DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) -- Steve