Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759030AbZDOIbM (ORCPT ); Wed, 15 Apr 2009 04:31:12 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758636AbZDOIah (ORCPT ); Wed, 15 Apr 2009 04:30:37 -0400 Received: from mx3.mail.elte.hu ([157.181.1.138]:59119 "EHLO mx3.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758508AbZDOIaa (ORCPT ); Wed, 15 Apr 2009 04:30:30 -0400 Date: Wed, 15 Apr 2009 10:29:31 +0200 From: Ingo Molnar To: Jeremy Fitzhardinge Cc: Steven Rostedt , Theodore Tso , linux-kernel@vger.kernel.org, Andrew Morton , Thomas Gleixner , Peter Zijlstra , Frederic Weisbecker , Arjan van de Ven , Christoph Hellwig , Mathieu Desnoyers , Lai Jiangshan , Zhaolei , Li Zefan , KOSAKI Motohiro , Masami Hiramatsu , "Frank Ch. Eigler" , Tom Zanussi , Jiaying Zhang , Michael Rubin , Martin Bligh , Mathieu Desnoyers Subject: Re: [PATCH 0/8] [GIT PULL] TRACE_EVENT for modules Message-ID: <20090415082931.GF18192@elte.hu> References: <20090414172337.280621613@goodmis.org> <20090414210445.GM955@mit.edu> <49E504C1.9010401@goop.org> <49E50F2F.5070507@goop.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49E50F2F.5070507@goop.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.5 -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 Content-Length: 2022 Lines: 67 * Jeremy Fitzhardinge wrote: > Steven Rostedt wrote: >> On Tue, 14 Apr 2009, Jeremy Fitzhardinge wrote: >> >> >>> Theodore Tso wrote: >>> >>>> Any chance you could support something like this? >>>> >>>> >>> I think that's already there. I'm defining >>> arch/x86/include/asm/paravirt-trace.h with: >>> >>> #ifndef _ASM_X86_PARAVIRT_TRACE_H >>> #define _ASM_X86_PARAVIRT_TRACE_H >>> >>> #include >>> #include >>> >>> #undef TRACE_SYSTEM >>> #define TRACE_SYSTEM pvops >>> >>> #define TRACE_INCLUDE_FILE paravirt-trace >>> #define TRACE_INCLUDE_PATH asm >>> [...] >>> >>> >>> Which ends up including >>> >> >> Not quite. It ends up looking like >> >> #include "asm/paravirt-trace.h" >> >> As long as there is no "asm" directory in the include/trace directory, >> I think that is fine. > > OK. > > I'm having a bit of trouble with paravirt-trace.h when I actually > include it in paravirt.h. asm/paravirt.h is itself included in > lots of places, and so its fairly easy to end up with cyclic > include dependencies which are fairly painful. In this case I'm > seeing asm/paravirt.h -> linux/tracepoint.h -> linux/rcupate.h -> > {lots of stuff}, which gives errors like: tracepoint.h should not include any complex headers like rcupdate.h. > I'm wondering if there's much downside in making the code > __DO_TRACE() out of line so that we can make tracepoint.h have > absolutely minimal include dependencies? yeah. And besides, the rcu_read_lock_sched_notrace() there should probably be a preempt_disable_notrace() / preempt_enable_notrace() variant. (it's sligtly faster that way and we better be atomic and self-sufficient in tracepoints anyway) 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/