Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758837AbZDQF6O (ORCPT ); Fri, 17 Apr 2009 01:58:14 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755565AbZDQF56 (ORCPT ); Fri, 17 Apr 2009 01:57:58 -0400 Received: from gw.goop.org ([64.81.55.164]:37823 "EHLO mail.goop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752355AbZDQF55 (ORCPT ); Fri, 17 Apr 2009 01:57:57 -0400 Message-ID: <49E81A63.7010700@goop.org> Date: Thu, 16 Apr 2009 22:57:55 -0700 From: Jeremy Fitzhardinge User-Agent: Thunderbird 2.0.0.21 (X11/20090320) MIME-Version: 1.0 To: Mathieu Desnoyers CC: Steven Rostedt , Ingo Molnar , linux-kernel@vger.kernel.org, "Paul E. McKenney" , Andrew Morton , Christoph Hellwig Subject: Re: [patch 2/3] RCU move trace defines to rcupdate_types.h References: <20090417003755.276959950@polymtl.ca> <20090417003931.846405986@polymtl.ca> <49E7D701.9090407@goop.org> <20090417014209.GA24956@Krystal> In-Reply-To: <20090417014209.GA24956@Krystal> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1972 Lines: 65 Mathieu Desnoyers wrote: > * Steven Rostedt (rostedt@goodmis.org) wrote: > >> On Thu, 16 Apr 2009, Jeremy Fitzhardinge wrote: >> >> >>> I don't think this helps. rcupdate_types.h uses preempt_disable/enable, but >>> doesn't include linux/preempt.h for them - but someone's going to have to, so >>> you've got an implicit dependency on the user to #include the right headers in >>> advance. >>> >> Would including linux/preempt.h in rcupdate_types.h be a problem? >> >> -- Steve >> >> > > I did not include preempt.h in rcupdate_types.h because rcupdate.h did > not include it, so I thought it had a special status such a kernel.h. > However, I notice the rcupdate.h includes spinlock.h, which in turn > includes preempt.h, so we would need to include preempt.h in > rcupdate_types.h. > > But I think preempt.h is pretty much only type definitions. I don't > think that would be a problem, but maybe Jeremy knows better. No, preempt.h has fairly complex #include requirements: #include #include #include which in turn include: /* linux/thread_info */ #include #include /* list.h */ #include #include #include #include And from there more complex still: #include #include #include #include #include #include #include #include #include #include #include [...and much more...] Given that paravirt.h is included in some of those headers, it eventually gets cyclic. J -- 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/