public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 0/3] Tracepoints kill rcupdate header dependency
@ 2009-04-17  0:14 mathieu.desnoyers
  2009-04-17  0:14 ` [patch 1/3] rcupdate header remove whitespace mathieu.desnoyers
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: mathieu.desnoyers @ 2009-04-17  0:14 UTC (permalink / raw)
  To: Ingo Molnar, linux-kernel, Jeremy Fitzhardinge, Steven Rostedt

Here is a patch to remove the tracepoint rcupdate dependency by splitting the
read-side primitives of rcupdate.h into a sub rcupdate_defines.h header. That
should make, at least, pvops tracing easier.

It applies on top of current tip/tracing/ftrace tree.

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [patch 1/3] rcupdate header remove whitespace
  2009-04-17  0:14 [patch 0/3] Tracepoints kill rcupdate header dependency mathieu.desnoyers
@ 2009-04-17  0:14 ` mathieu.desnoyers
  2009-04-17  0:14 ` [patch 2/3] RCU move trace defines to rcupdate_defines.h mathieu.desnoyers
  2009-04-17  0:14 ` [patch 3/3] tracepoints : remove rcupdate.h dependency mathieu.desnoyers
  2 siblings, 0 replies; 7+ messages in thread
From: mathieu.desnoyers @ 2009-04-17  0:14 UTC (permalink / raw)
  To: Ingo Molnar, linux-kernel, Jeremy Fitzhardinge, Steven Rostedt
  Cc: Mathieu Desnoyers, Paul E. McKenney

[-- Attachment #1: rcupdate-header-remove-whitespace.patch --]
[-- Type: text/plain, Size: 934 bytes --]

Janitor-style whitespace cleanup. Will need to copy this header elsewhere
anyway.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
---
 include/linux/rcupdate.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux.trees.git/include/linux/rcupdate.h
===================================================================
--- linux.trees.git.orig/include/linux/rcupdate.h	2009-04-16 19:57:30.000000000 -0400
+++ linux.trees.git/include/linux/rcupdate.h	2009-04-16 19:57:35.000000000 -0400
@@ -18,7 +18,7 @@
  * Copyright IBM Corporation, 2001
  *
  * Author: Dipankar Sarma <dipankar@in.ibm.com>
- * 
+ *
  * Based on the original work by Paul McKenney <paulmck@us.ibm.com>
  * and inputs from Rusty Russell, Andrea Arcangeli and Andi Kleen.
  * Papers:

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [patch 2/3] RCU move trace defines to rcupdate_defines.h
  2009-04-17  0:14 [patch 0/3] Tracepoints kill rcupdate header dependency mathieu.desnoyers
  2009-04-17  0:14 ` [patch 1/3] rcupdate header remove whitespace mathieu.desnoyers
@ 2009-04-17  0:14 ` mathieu.desnoyers
  2009-04-17  0:43   ` Ingo Molnar
  2009-04-17  0:14 ` [patch 3/3] tracepoints : remove rcupdate.h dependency mathieu.desnoyers
  2 siblings, 1 reply; 7+ messages in thread
From: mathieu.desnoyers @ 2009-04-17  0:14 UTC (permalink / raw)
  To: Ingo Molnar, linux-kernel, Jeremy Fitzhardinge, Steven Rostedt
  Cc: Mathieu Desnoyers, Paul E. McKenney, Andrew Morton,
	Christoph Hellwig

[-- Attachment #1: rcu-move-trace-defines-to-rcu_defines-header.patch --]
[-- Type: text/plain, Size: 12841 bytes --]

Given tracepoint.h need to include the minimal set of headers, split some
tracing-specific RCU defines from the global rcupdate.h header.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Jeremy Fitzhardinge <jeremy@goop.org>
CC: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
CC: Steven Rostedt <rostedt@goodmis.org>
CC: Ingo Molnar <mingo@elte.hu>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Christoph Hellwig <hch@lst.de>
---
 include/linux/rcupdate.h         |  127 ------------------------------
 include/linux/rcupdate_defines.h |  163 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 164 insertions(+), 126 deletions(-)

Index: linux.trees.git/include/linux/rcupdate.h
===================================================================
--- linux.trees.git.orig/include/linux/rcupdate.h	2009-04-16 20:10:13.000000000 -0400
+++ linux.trees.git/include/linux/rcupdate.h	2009-04-16 20:10:36.000000000 -0400
@@ -40,6 +40,7 @@
 #include <linux/seqlock.h>
 #include <linux/lockdep.h>
 #include <linux/completion.h>
+#include <linux/rcupdate_defines.h>
 
 /**
  * struct rcu_head - callback structure for use with RCU
@@ -70,132 +71,7 @@ extern int rcu_scheduler_active;
        (ptr)->next = NULL; (ptr)->func = NULL; \
 } while (0)
 
-/**
- * rcu_read_lock - mark the beginning of an RCU read-side critical section.
- *
- * When synchronize_rcu() is invoked on one CPU while other CPUs
- * are within RCU read-side critical sections, then the
- * synchronize_rcu() is guaranteed to block until after all the other
- * CPUs exit their critical sections.  Similarly, if call_rcu() is invoked
- * on one CPU while other CPUs are within RCU read-side critical
- * sections, invocation of the corresponding RCU callback is deferred
- * until after the all the other CPUs exit their critical sections.
- *
- * Note, however, that RCU callbacks are permitted to run concurrently
- * with RCU read-side critical sections.  One way that this can happen
- * is via the following sequence of events: (1) CPU 0 enters an RCU
- * read-side critical section, (2) CPU 1 invokes call_rcu() to register
- * an RCU callback, (3) CPU 0 exits the RCU read-side critical section,
- * (4) CPU 2 enters a RCU read-side critical section, (5) the RCU
- * callback is invoked.  This is legal, because the RCU read-side critical
- * section that was running concurrently with the call_rcu() (and which
- * therefore might be referencing something that the corresponding RCU
- * callback would free up) has completed before the corresponding
- * RCU callback is invoked.
- *
- * RCU read-side critical sections may be nested.  Any deferred actions
- * will be deferred until the outermost RCU read-side critical section
- * completes.
- *
- * It is illegal to block while in an RCU read-side critical section.
- */
-#define rcu_read_lock() __rcu_read_lock()
-
-/**
- * rcu_read_unlock - marks the end of an RCU read-side critical section.
- *
- * See rcu_read_lock() for more information.
- */
-
-/*
- * So where is rcu_write_lock()?  It does not exist, as there is no
- * way for writers to lock out RCU readers.  This is a feature, not
- * a bug -- this property is what provides RCU's performance benefits.
- * Of course, writers must coordinate with each other.  The normal
- * spinlock primitives work well for this, but any other technique may be
- * used as well.  RCU does not care how the writers keep out of each
- * others' way, as long as they do so.
- */
-#define rcu_read_unlock() __rcu_read_unlock()
-
-/**
- * rcu_read_lock_bh - mark the beginning of a softirq-only RCU critical section
- *
- * This is equivalent of rcu_read_lock(), but to be used when updates
- * are being done using call_rcu_bh(). Since call_rcu_bh() callbacks
- * consider completion of a softirq handler to be a quiescent state,
- * a process in RCU read-side critical section must be protected by
- * disabling softirqs. Read-side critical sections in interrupt context
- * can use just rcu_read_lock().
- *
- */
-#define rcu_read_lock_bh() __rcu_read_lock_bh()
-
-/*
- * rcu_read_unlock_bh - marks the end of a softirq-only RCU critical section
- *
- * See rcu_read_lock_bh() for more information.
- */
-#define rcu_read_unlock_bh() __rcu_read_unlock_bh()
-
-/**
- * rcu_read_lock_sched - mark the beginning of a RCU-classic critical section
- *
- * Should be used with either
- * - synchronize_sched()
- * or
- * - call_rcu_sched() and rcu_barrier_sched()
- * on the write-side to insure proper synchronization.
- */
-#define rcu_read_lock_sched() preempt_disable()
-#define rcu_read_lock_sched_notrace() preempt_disable_notrace()
-
-/*
- * rcu_read_unlock_sched - marks the end of a RCU-classic critical section
- *
- * See rcu_read_lock_sched for more information.
- */
-#define rcu_read_unlock_sched() preempt_enable()
-#define rcu_read_unlock_sched_notrace() preempt_enable_notrace()
-
-
-
-/**
- * rcu_dereference - fetch an RCU-protected pointer in an
- * RCU read-side critical section.  This pointer may later
- * be safely dereferenced.
- *
- * Inserts memory barriers on architectures that require them
- * (currently only the Alpha), and, more importantly, documents
- * exactly which pointers are protected by RCU.
- */
-
-#define rcu_dereference(p)     ({ \
-				typeof(p) _________p1 = ACCESS_ONCE(p); \
-				smp_read_barrier_depends(); \
-				(_________p1); \
-				})
-
-/**
- * rcu_assign_pointer - assign (publicize) a pointer to a newly
- * initialized structure that will be dereferenced by RCU read-side
- * critical sections.  Returns the value assigned.
- *
- * Inserts memory barriers on architectures that require them
- * (pretty much all of them other than x86), and also prevents
- * the compiler from reordering the code that initializes the
- * structure after the pointer assignment.  More importantly, this
- * call documents which pointers will be dereferenced by RCU read-side
- * code.
- */
-
-#define rcu_assign_pointer(p, v) \
-	({ \
-		if (!__builtin_constant_p(v) || \
-		    ((v) != NULL)) \
-			smp_wmb(); \
-		(p) = (v); \
-	})
+/* See linux/rcupdate_defines.h for read-side locking primitives */
 
 /* Infrastructure to implement the synchronize_() primitives. */
 
Index: linux.trees.git/include/linux/rcupdate_defines.h
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux.trees.git/include/linux/rcupdate_defines.h	2009-04-16 20:10:18.000000000 -0400
@@ -0,0 +1,163 @@
+/*
+ * Read-Copy Update mechanism for mutual exclusion - read-side definitions
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Copyright IBM Corporation, 2001
+ *
+ * Author: Dipankar Sarma <dipankar@in.ibm.com>
+ *
+ * Based on the original work by Paul McKenney <paulmck@us.ibm.com>
+ * and inputs from Rusty Russell, Andrea Arcangeli and Andi Kleen.
+ * Papers:
+ * http://www.rdrop.com/users/paulmck/paper/rclockpdcsproof.pdf
+ * http://lse.sourceforge.net/locking/rclock_OLS.2001.05.01c.sc.pdf (OLS2001)
+ *
+ * For detailed explanation of Read-Copy Update mechanism see -
+ * 		http://lse.sourceforge.net/locking/rcupdate.html
+ *
+ */
+
+#ifndef __LINUX_RCUPDATE_DEFINES_H
+#define __LINUX_RCUPDATE_DEFINES_H
+
+/**
+ * rcu_read_lock - mark the beginning of an RCU read-side critical section.
+ *
+ * When synchronize_rcu() is invoked on one CPU while other CPUs
+ * are within RCU read-side critical sections, then the
+ * synchronize_rcu() is guaranteed to block until after all the other
+ * CPUs exit their critical sections.  Similarly, if call_rcu() is invoked
+ * on one CPU while other CPUs are within RCU read-side critical
+ * sections, invocation of the corresponding RCU callback is deferred
+ * until after the all the other CPUs exit their critical sections.
+ *
+ * Note, however, that RCU callbacks are permitted to run concurrently
+ * with RCU read-side critical sections.  One way that this can happen
+ * is via the following sequence of events: (1) CPU 0 enters an RCU
+ * read-side critical section, (2) CPU 1 invokes call_rcu() to register
+ * an RCU callback, (3) CPU 0 exits the RCU read-side critical section,
+ * (4) CPU 2 enters a RCU read-side critical section, (5) the RCU
+ * callback is invoked.  This is legal, because the RCU read-side critical
+ * section that was running concurrently with the call_rcu() (and which
+ * therefore might be referencing something that the corresponding RCU
+ * callback would free up) has completed before the corresponding
+ * RCU callback is invoked.
+ *
+ * RCU read-side critical sections may be nested.  Any deferred actions
+ * will be deferred until the outermost RCU read-side critical section
+ * completes.
+ *
+ * It is illegal to block while in an RCU read-side critical section.
+ */
+#define rcu_read_lock() __rcu_read_lock()
+
+/**
+ * rcu_read_unlock - marks the end of an RCU read-side critical section.
+ *
+ * See rcu_read_lock() for more information.
+ */
+
+/*
+ * So where is rcu_write_lock()?  It does not exist, as there is no
+ * way for writers to lock out RCU readers.  This is a feature, not
+ * a bug -- this property is what provides RCU's performance benefits.
+ * Of course, writers must coordinate with each other.  The normal
+ * spinlock primitives work well for this, but any other technique may be
+ * used as well.  RCU does not care how the writers keep out of each
+ * others' way, as long as they do so.
+ */
+#define rcu_read_unlock() __rcu_read_unlock()
+
+/**
+ * rcu_read_lock_bh - mark the beginning of a softirq-only RCU critical section
+ *
+ * This is equivalent of rcu_read_lock(), but to be used when updates
+ * are being done using call_rcu_bh(). Since call_rcu_bh() callbacks
+ * consider completion of a softirq handler to be a quiescent state,
+ * a process in RCU read-side critical section must be protected by
+ * disabling softirqs. Read-side critical sections in interrupt context
+ * can use just rcu_read_lock().
+ *
+ */
+#define rcu_read_lock_bh() __rcu_read_lock_bh()
+
+/*
+ * rcu_read_unlock_bh - marks the end of a softirq-only RCU critical section
+ *
+ * See rcu_read_lock_bh() for more information.
+ */
+#define rcu_read_unlock_bh() __rcu_read_unlock_bh()
+
+/**
+ * rcu_read_lock_sched - mark the beginning of a RCU-classic critical section
+ *
+ * Should be used with either
+ * - synchronize_sched()
+ * or
+ * - call_rcu_sched() and rcu_barrier_sched()
+ * on the write-side to insure proper synchronization.
+ */
+#define rcu_read_lock_sched() preempt_disable()
+#define rcu_read_lock_sched_notrace() preempt_disable_notrace()
+
+/*
+ * rcu_read_unlock_sched - marks the end of a RCU-classic critical section
+ *
+ * See rcu_read_lock_sched for more information.
+ */
+#define rcu_read_unlock_sched() preempt_enable()
+#define rcu_read_unlock_sched_notrace() preempt_enable_notrace()
+
+
+
+/**
+ * rcu_dereference - fetch an RCU-protected pointer in an
+ * RCU read-side critical section.  This pointer may later
+ * be safely dereferenced.
+ *
+ * Inserts memory barriers on architectures that require them
+ * (currently only the Alpha), and, more importantly, documents
+ * exactly which pointers are protected by RCU.
+ */
+
+#define rcu_dereference(p)     ({ \
+				typeof(p) _________p1 = ACCESS_ONCE(p); \
+				smp_read_barrier_depends(); \
+				(_________p1); \
+				})
+
+/**
+ * rcu_assign_pointer - assign (publicize) a pointer to a newly
+ * initialized structure that will be dereferenced by RCU read-side
+ * critical sections.  Returns the value assigned.
+ *
+ * Inserts memory barriers on architectures that require them
+ * (pretty much all of them other than x86), and also prevents
+ * the compiler from reordering the code that initializes the
+ * structure after the pointer assignment.  More importantly, this
+ * call documents which pointers will be dereferenced by RCU read-side
+ * code.
+ */
+
+#define rcu_assign_pointer(p, v) \
+	({ \
+		if (!__builtin_constant_p(v) || \
+		    ((v) != NULL)) \
+			smp_wmb(); \
+		(p) = (v); \
+	})
+
+#endif /* __LINUX_RCUPDATE_DEFINES_H */

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [patch 3/3] tracepoints : remove rcupdate.h dependency
  2009-04-17  0:14 [patch 0/3] Tracepoints kill rcupdate header dependency mathieu.desnoyers
  2009-04-17  0:14 ` [patch 1/3] rcupdate header remove whitespace mathieu.desnoyers
  2009-04-17  0:14 ` [patch 2/3] RCU move trace defines to rcupdate_defines.h mathieu.desnoyers
@ 2009-04-17  0:14 ` mathieu.desnoyers
  2 siblings, 0 replies; 7+ messages in thread
From: mathieu.desnoyers @ 2009-04-17  0:14 UTC (permalink / raw)
  To: Ingo Molnar, linux-kernel, Jeremy Fitzhardinge, Steven Rostedt
  Cc: Mathieu Desnoyers, Paul E. McKenney, Andrew Morton,
	Christoph Hellwig

[-- Attachment #1: tracepoints-remove-rcu-header-dependency.patch --]
[-- Type: text/plain, Size: 1677 bytes --]

Use the slimmer rcupdate_defines.h instead of the fat rcupdate.h.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Jeremy Fitzhardinge <jeremy@goop.org>
CC: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
CC: Steven Rostedt <rostedt@goodmis.org>
CC: Ingo Molnar <mingo@elte.hu>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Christoph Hellwig <hch@lst.de>
---
 include/linux/tracepoint.h |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Index: linux.trees.git/include/linux/tracepoint.h
===================================================================
--- linux.trees.git.orig/include/linux/tracepoint.h	2009-04-16 19:35:53.000000000 -0400
+++ linux.trees.git/include/linux/tracepoint.h	2009-04-16 19:40:30.000000000 -0400
@@ -15,7 +15,7 @@
  */
 
 #include <linux/types.h>
-#include <linux/rcupdate.h>
+#include <linux/rcupdate_defines.h>
 
 struct module;
 struct tracepoint;
@@ -150,11 +150,11 @@ extern int tracepoint_get_iter_range(str
  * tracepoint_synchronize_unregister must be called between the last tracepoint
  * probe unregistration and the end of module exit to make sure there is no
  * caller executing a probe when it is freed.
+ * Using a define rather than a static inline to make sure tracepoint.h does not
+ * depend on rcupdate.h. rcupdate.h must be included whenever
+ * tracepoint_synchronize_unregister() is used.
  */
-static inline void tracepoint_synchronize_unregister(void)
-{
-	synchronize_sched();
-}
+#define tracepoint_synchronize_unregister() synchronize_sched()
 
 #define PARAMS(args...) args
 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [patch 2/3] RCU move trace defines to rcupdate_defines.h
  2009-04-17  0:14 ` [patch 2/3] RCU move trace defines to rcupdate_defines.h mathieu.desnoyers
@ 2009-04-17  0:43   ` Ingo Molnar
  2009-04-17  0:55     ` Mathieu Desnoyers
  0 siblings, 1 reply; 7+ messages in thread
From: Ingo Molnar @ 2009-04-17  0:43 UTC (permalink / raw)
  To: mathieu.desnoyers
  Cc: linux-kernel, Jeremy Fitzhardinge, Steven Rostedt,
	Paul E. McKenney, Andrew Morton, Christoph Hellwig


* mathieu.desnoyers@polymtl.ca <mathieu.desnoyers@polymtl.ca> wrote:

>  include/linux/rcupdate.h         |  127 ------------------------------
>  include/linux/rcupdate_defines.h |  163 +++++++++++++++++++++++++++++++++++++++

Looks good to me (if Paul accepts it too), but please use the 
standard convention we use in other places for 'light' headers: 
rcupdate_types.h.

	Ingo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [patch 2/3] RCU move trace defines to rcupdate_defines.h
  2009-04-17  0:43   ` Ingo Molnar
@ 2009-04-17  0:55     ` Mathieu Desnoyers
  2009-04-17  1:04       ` Ingo Molnar
  0 siblings, 1 reply; 7+ messages in thread
From: Mathieu Desnoyers @ 2009-04-17  0:55 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Jeremy Fitzhardinge, Steven Rostedt,
	Paul E. McKenney, Andrew Morton, Christoph Hellwig

* Ingo Molnar (mingo@elte.hu) wrote:
> 
> * mathieu.desnoyers@polymtl.ca <mathieu.desnoyers@polymtl.ca> wrote:
> 
> >  include/linux/rcupdate.h         |  127 ------------------------------
> >  include/linux/rcupdate_defines.h |  163 +++++++++++++++++++++++++++++++++++++++
> 
> Looks good to me (if Paul accepts it too), but please use the 
> standard convention we use in other places for 'light' headers: 
> rcupdate_types.h.
> 
> 	Ingo

Given there were not "types" declared per-se, I thought _defines was
more appropriate. But I don't mind, as long as we separate the heavy
from the "light" header. I'll repost with _types.h.

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [patch 2/3] RCU move trace defines to rcupdate_defines.h
  2009-04-17  0:55     ` Mathieu Desnoyers
@ 2009-04-17  1:04       ` Ingo Molnar
  0 siblings, 0 replies; 7+ messages in thread
From: Ingo Molnar @ 2009-04-17  1:04 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: linux-kernel, Jeremy Fitzhardinge, Steven Rostedt,
	Paul E. McKenney, Andrew Morton, Christoph Hellwig


* Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> * Ingo Molnar (mingo@elte.hu) wrote:
> > 
> > * mathieu.desnoyers@polymtl.ca <mathieu.desnoyers@polymtl.ca> wrote:
> > 
> > >  include/linux/rcupdate.h         |  127 ------------------------------
> > >  include/linux/rcupdate_defines.h |  163 +++++++++++++++++++++++++++++++++++++++
> > 
> > Looks good to me (if Paul accepts it too), but please use the 
> > standard convention we use in other places for 'light' headers: 
> > rcupdate_types.h.
> > 
> > 	Ingo
> 
> Given there were not "types" declared per-se, I thought _defines 
> was more appropriate. But I don't mind, as long as we separate the 
> heavy from the "light" header. I'll repost with _types.h.

Ok - but it's really up to Paul - i'll wait for his take.

	Ingo

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-04-17  1:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-17  0:14 [patch 0/3] Tracepoints kill rcupdate header dependency mathieu.desnoyers
2009-04-17  0:14 ` [patch 1/3] rcupdate header remove whitespace mathieu.desnoyers
2009-04-17  0:14 ` [patch 2/3] RCU move trace defines to rcupdate_defines.h mathieu.desnoyers
2009-04-17  0:43   ` Ingo Molnar
2009-04-17  0:55     ` Mathieu Desnoyers
2009-04-17  1:04       ` Ingo Molnar
2009-04-17  0:14 ` [patch 3/3] tracepoints : remove rcupdate.h dependency mathieu.desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox