* [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone [not found] <Message-ID: <20140219185850.GA23050@linux.vnet.ibm.com> @ 2014-02-19 19:33 ` Paul Gortmaker 2014-02-20 1:53 ` Paul E. McKenney 0 siblings, 1 reply; 7+ messages in thread From: Paul Gortmaker @ 2014-02-19 19:33 UTC (permalink / raw) To: Paul E. McKenney; +Cc: Dipankar Sarma, linux-kernel, Paul Gortmaker The kbuild test bot uncovered an implicit dependence on the trace header being present before rcu.h in ia64 allmodconfig that looks like this: In file included from kernel/ksysfs.c:22:0: kernel/rcu/rcu.h: In function '__rcu_reclaim': kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors Looking at other rcu.h users, we can find that they all were sourcing the trace header in advance of rcu.h itself, as seen in the context of this diff. There were also some inconsistencies as to whether it was or wasn't sourced based on the parent tracing Kconfig. Rather than "fix" it at each use site, and have inconsistent use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, lets just source the trace header just once, in the actual consumer of it, which is rcu.h itself. We include it unconditionally, as build testing shows us that is a hard requirement for some files. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- [v2: move the #include <trace/events/rcu.h> outside of the scope of #ifdef CONFIG_RCU_TRACE so it is unconditionally included.] kernel/rcu/rcu.h | 1 + kernel/rcu/srcu.c | 2 -- kernel/rcu/tiny.c | 4 ---- kernel/rcu/tree.c | 2 -- kernel/rcu/update.c | 1 - 5 files changed, 1 insertion(+), 9 deletions(-) diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index 1bd787fddcb2..3d2a037332b2 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h @@ -23,6 +23,7 @@ #ifndef __LINUX_RCU_H #define __LINUX_RCU_H +#include <trace/events/rcu.h> #ifdef CONFIG_RCU_TRACE #define RCU_TRACE(stmt) stmt #else /* #ifdef CONFIG_RCU_TRACE */ diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c index 5db7e9272d37..8e66b05bfd82 100644 --- a/kernel/rcu/srcu.c +++ b/kernel/rcu/srcu.c @@ -36,8 +36,6 @@ #include <linux/delay.h> #include <linux/srcu.h> -#include <trace/events/rcu.h> - #include "rcu.h" /* diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c index 53b95bbf4abb..d9efcc13008c 100644 --- a/kernel/rcu/tiny.c +++ b/kernel/rcu/tiny.c @@ -37,10 +37,6 @@ #include <linux/prefetch.h> #include <linux/ftrace_event.h> -#ifdef CONFIG_RCU_TRACE -#include <trace/events/rcu.h> -#endif /* #else #ifdef CONFIG_RCU_TRACE */ - #include "rcu.h" /* Forward declarations for tiny_plugin.h. */ diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index c7a00dbe768b..351faba48b91 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -58,8 +58,6 @@ #include <linux/suspend.h> #include "tree.h" -#include <trace/events/rcu.h> - #include "rcu.h" MODULE_ALIAS("rcutree"); diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index fd0d5b5b8e7c..4c0a9b0af469 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -49,7 +49,6 @@ #include <linux/module.h> #define CREATE_TRACE_POINTS -#include <trace/events/rcu.h> #include "rcu.h" -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone 2014-02-19 19:33 ` [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone Paul Gortmaker @ 2014-02-20 1:53 ` Paul E. McKenney 2014-02-20 2:02 ` Paul Gortmaker 0 siblings, 1 reply; 7+ messages in thread From: Paul E. McKenney @ 2014-02-20 1:53 UTC (permalink / raw) To: Paul Gortmaker; +Cc: Dipankar Sarma, linux-kernel On Wed, Feb 19, 2014 at 02:33:27PM -0500, Paul Gortmaker wrote: > The kbuild test bot uncovered an implicit dependence on the > trace header being present before rcu.h in ia64 allmodconfig > that looks like this: > > In file included from kernel/ksysfs.c:22:0: > kernel/rcu/rcu.h: In function '__rcu_reclaim': > kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] > kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] > cc1: some warnings being treated as errors > > Looking at other rcu.h users, we can find that they all > were sourcing the trace header in advance of rcu.h itself, > as seen in the context of this diff. There were also some > inconsistencies as to whether it was or wasn't sourced based > on the parent tracing Kconfig. > > Rather than "fix" it at each use site, and have inconsistent > use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, > lets just source the trace header just once, in the actual consumer > of it, which is rcu.h itself. We include it unconditionally, as > build testing shows us that is a hard requirement for some files. > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Queued for 3.16, thank you, Paul! Thanx, Paul > --- > > [v2: move the #include <trace/events/rcu.h> outside of the scope > of #ifdef CONFIG_RCU_TRACE so it is unconditionally included.] > > kernel/rcu/rcu.h | 1 + > kernel/rcu/srcu.c | 2 -- > kernel/rcu/tiny.c | 4 ---- > kernel/rcu/tree.c | 2 -- > kernel/rcu/update.c | 1 - > 5 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h > index 1bd787fddcb2..3d2a037332b2 100644 > --- a/kernel/rcu/rcu.h > +++ b/kernel/rcu/rcu.h > @@ -23,6 +23,7 @@ > #ifndef __LINUX_RCU_H > #define __LINUX_RCU_H > > +#include <trace/events/rcu.h> > #ifdef CONFIG_RCU_TRACE > #define RCU_TRACE(stmt) stmt > #else /* #ifdef CONFIG_RCU_TRACE */ > diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c > index 5db7e9272d37..8e66b05bfd82 100644 > --- a/kernel/rcu/srcu.c > +++ b/kernel/rcu/srcu.c > @@ -36,8 +36,6 @@ > #include <linux/delay.h> > #include <linux/srcu.h> > > -#include <trace/events/rcu.h> > - > #include "rcu.h" > > /* > diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c > index 53b95bbf4abb..d9efcc13008c 100644 > --- a/kernel/rcu/tiny.c > +++ b/kernel/rcu/tiny.c > @@ -37,10 +37,6 @@ > #include <linux/prefetch.h> > #include <linux/ftrace_event.h> > > -#ifdef CONFIG_RCU_TRACE > -#include <trace/events/rcu.h> > -#endif /* #else #ifdef CONFIG_RCU_TRACE */ > - > #include "rcu.h" > > /* Forward declarations for tiny_plugin.h. */ > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > index c7a00dbe768b..351faba48b91 100644 > --- a/kernel/rcu/tree.c > +++ b/kernel/rcu/tree.c > @@ -58,8 +58,6 @@ > #include <linux/suspend.h> > > #include "tree.h" > -#include <trace/events/rcu.h> > - > #include "rcu.h" > > MODULE_ALIAS("rcutree"); > diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c > index fd0d5b5b8e7c..4c0a9b0af469 100644 > --- a/kernel/rcu/update.c > +++ b/kernel/rcu/update.c > @@ -49,7 +49,6 @@ > #include <linux/module.h> > > #define CREATE_TRACE_POINTS > -#include <trace/events/rcu.h> > > #include "rcu.h" > > -- > 1.8.5.2 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone 2014-02-20 1:53 ` Paul E. McKenney @ 2014-02-20 2:02 ` Paul Gortmaker 2014-02-20 9:00 ` Paul E. McKenney 0 siblings, 1 reply; 7+ messages in thread From: Paul Gortmaker @ 2014-02-20 2:02 UTC (permalink / raw) To: Paul E. McKenney; +Cc: Dipankar Sarma, linux-kernel [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 19/02/2014 (Wed 17:53) Paul E. McKenney wrote: > On Wed, Feb 19, 2014 at 02:33:27PM -0500, Paul Gortmaker wrote: > > The kbuild test bot uncovered an implicit dependence on the > > trace header being present before rcu.h in ia64 allmodconfig > > that looks like this: > > > > In file included from kernel/ksysfs.c:22:0: > > kernel/rcu/rcu.h: In function '__rcu_reclaim': > > kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] > > kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] > > cc1: some warnings being treated as errors > > > > Looking at other rcu.h users, we can find that they all > > were sourcing the trace header in advance of rcu.h itself, > > as seen in the context of this diff. There were also some > > inconsistencies as to whether it was or wasn't sourced based > > on the parent tracing Kconfig. > > > > Rather than "fix" it at each use site, and have inconsistent > > use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, > > lets just source the trace header just once, in the actual consumer > > of it, which is rcu.h itself. We include it unconditionally, as > > build testing shows us that is a hard requirement for some files. > > > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > > Queued for 3.16, thank you, Paul! Thanks! I'm assuming you meant 3.15 -- unless of course you are allowing for an insurance policy for me possibly breaking the build. ;) P. -- > > Thanx, Paul > > > --- > > > > [v2: move the #include <trace/events/rcu.h> outside of the scope > > of #ifdef CONFIG_RCU_TRACE so it is unconditionally included.] > > > > kernel/rcu/rcu.h | 1 + > > kernel/rcu/srcu.c | 2 -- > > kernel/rcu/tiny.c | 4 ---- > > kernel/rcu/tree.c | 2 -- > > kernel/rcu/update.c | 1 - > > 5 files changed, 1 insertion(+), 9 deletions(-) > > > > diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h > > index 1bd787fddcb2..3d2a037332b2 100644 > > --- a/kernel/rcu/rcu.h > > +++ b/kernel/rcu/rcu.h > > @@ -23,6 +23,7 @@ > > #ifndef __LINUX_RCU_H > > #define __LINUX_RCU_H > > > > +#include <trace/events/rcu.h> > > #ifdef CONFIG_RCU_TRACE > > #define RCU_TRACE(stmt) stmt > > #else /* #ifdef CONFIG_RCU_TRACE */ > > diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c > > index 5db7e9272d37..8e66b05bfd82 100644 > > --- a/kernel/rcu/srcu.c > > +++ b/kernel/rcu/srcu.c > > @@ -36,8 +36,6 @@ > > #include <linux/delay.h> > > #include <linux/srcu.h> > > > > -#include <trace/events/rcu.h> > > - > > #include "rcu.h" > > > > /* > > diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c > > index 53b95bbf4abb..d9efcc13008c 100644 > > --- a/kernel/rcu/tiny.c > > +++ b/kernel/rcu/tiny.c > > @@ -37,10 +37,6 @@ > > #include <linux/prefetch.h> > > #include <linux/ftrace_event.h> > > > > -#ifdef CONFIG_RCU_TRACE > > -#include <trace/events/rcu.h> > > -#endif /* #else #ifdef CONFIG_RCU_TRACE */ > > - > > #include "rcu.h" > > > > /* Forward declarations for tiny_plugin.h. */ > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > > index c7a00dbe768b..351faba48b91 100644 > > --- a/kernel/rcu/tree.c > > +++ b/kernel/rcu/tree.c > > @@ -58,8 +58,6 @@ > > #include <linux/suspend.h> > > > > #include "tree.h" > > -#include <trace/events/rcu.h> > > - > > #include "rcu.h" > > > > MODULE_ALIAS("rcutree"); > > diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c > > index fd0d5b5b8e7c..4c0a9b0af469 100644 > > --- a/kernel/rcu/update.c > > +++ b/kernel/rcu/update.c > > @@ -49,7 +49,6 @@ > > #include <linux/module.h> > > > > #define CREATE_TRACE_POINTS > > -#include <trace/events/rcu.h> > > > > #include "rcu.h" > > > > -- > > 1.8.5.2 > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone 2014-02-20 2:02 ` Paul Gortmaker @ 2014-02-20 9:00 ` Paul E. McKenney 2014-02-23 17:27 ` Paul E. McKenney 0 siblings, 1 reply; 7+ messages in thread From: Paul E. McKenney @ 2014-02-20 9:00 UTC (permalink / raw) To: Paul Gortmaker; +Cc: Dipankar Sarma, linux-kernel On Wed, Feb 19, 2014 at 09:02:13PM -0500, Paul Gortmaker wrote: > [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 19/02/2014 (Wed 17:53) Paul E. McKenney wrote: > > > On Wed, Feb 19, 2014 at 02:33:27PM -0500, Paul Gortmaker wrote: > > > The kbuild test bot uncovered an implicit dependence on the > > > trace header being present before rcu.h in ia64 allmodconfig > > > that looks like this: > > > > > > In file included from kernel/ksysfs.c:22:0: > > > kernel/rcu/rcu.h: In function '__rcu_reclaim': > > > kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] > > > kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] > > > cc1: some warnings being treated as errors > > > > > > Looking at other rcu.h users, we can find that they all > > > were sourcing the trace header in advance of rcu.h itself, > > > as seen in the context of this diff. There were also some > > > inconsistencies as to whether it was or wasn't sourced based > > > on the parent tracing Kconfig. > > > > > > Rather than "fix" it at each use site, and have inconsistent > > > use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, > > > lets just source the trace header just once, in the actual consumer > > > of it, which is rcu.h itself. We include it unconditionally, as > > > build testing shows us that is a hard requirement for some files. > > > > > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > > > > Queued for 3.16, thank you, Paul! > > Thanks! > > I'm assuming you meant 3.15 -- unless of course you are allowing > for an insurance policy for me possibly breaking the build. ;) Well, it does seem to be doing better in testing. ;-) I split off the stuff for the 3.15 merge window a few days back, but if the lack of this patch is causing a problem, I could be talked into slipping it in. Thanx, Paul > P. > -- > > > > > Thanx, Paul > > > > > --- > > > > > > [v2: move the #include <trace/events/rcu.h> outside of the scope > > > of #ifdef CONFIG_RCU_TRACE so it is unconditionally included.] > > > > > > kernel/rcu/rcu.h | 1 + > > > kernel/rcu/srcu.c | 2 -- > > > kernel/rcu/tiny.c | 4 ---- > > > kernel/rcu/tree.c | 2 -- > > > kernel/rcu/update.c | 1 - > > > 5 files changed, 1 insertion(+), 9 deletions(-) > > > > > > diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h > > > index 1bd787fddcb2..3d2a037332b2 100644 > > > --- a/kernel/rcu/rcu.h > > > +++ b/kernel/rcu/rcu.h > > > @@ -23,6 +23,7 @@ > > > #ifndef __LINUX_RCU_H > > > #define __LINUX_RCU_H > > > > > > +#include <trace/events/rcu.h> > > > #ifdef CONFIG_RCU_TRACE > > > #define RCU_TRACE(stmt) stmt > > > #else /* #ifdef CONFIG_RCU_TRACE */ > > > diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c > > > index 5db7e9272d37..8e66b05bfd82 100644 > > > --- a/kernel/rcu/srcu.c > > > +++ b/kernel/rcu/srcu.c > > > @@ -36,8 +36,6 @@ > > > #include <linux/delay.h> > > > #include <linux/srcu.h> > > > > > > -#include <trace/events/rcu.h> > > > - > > > #include "rcu.h" > > > > > > /* > > > diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c > > > index 53b95bbf4abb..d9efcc13008c 100644 > > > --- a/kernel/rcu/tiny.c > > > +++ b/kernel/rcu/tiny.c > > > @@ -37,10 +37,6 @@ > > > #include <linux/prefetch.h> > > > #include <linux/ftrace_event.h> > > > > > > -#ifdef CONFIG_RCU_TRACE > > > -#include <trace/events/rcu.h> > > > -#endif /* #else #ifdef CONFIG_RCU_TRACE */ > > > - > > > #include "rcu.h" > > > > > > /* Forward declarations for tiny_plugin.h. */ > > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > > > index c7a00dbe768b..351faba48b91 100644 > > > --- a/kernel/rcu/tree.c > > > +++ b/kernel/rcu/tree.c > > > @@ -58,8 +58,6 @@ > > > #include <linux/suspend.h> > > > > > > #include "tree.h" > > > -#include <trace/events/rcu.h> > > > - > > > #include "rcu.h" > > > > > > MODULE_ALIAS("rcutree"); > > > diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c > > > index fd0d5b5b8e7c..4c0a9b0af469 100644 > > > --- a/kernel/rcu/update.c > > > +++ b/kernel/rcu/update.c > > > @@ -49,7 +49,6 @@ > > > #include <linux/module.h> > > > > > > #define CREATE_TRACE_POINTS > > > -#include <trace/events/rcu.h> > > > > > > #include "rcu.h" > > > > > > -- > > > 1.8.5.2 > > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone 2014-02-20 9:00 ` Paul E. McKenney @ 2014-02-23 17:27 ` Paul E. McKenney 2014-02-24 0:01 ` Paul Gortmaker 0 siblings, 1 reply; 7+ messages in thread From: Paul E. McKenney @ 2014-02-23 17:27 UTC (permalink / raw) To: Paul Gortmaker; +Cc: Dipankar Sarma, linux-kernel On Thu, Feb 20, 2014 at 01:00:39AM -0800, Paul E. McKenney wrote: > On Wed, Feb 19, 2014 at 09:02:13PM -0500, Paul Gortmaker wrote: > > [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 19/02/2014 (Wed 17:53) Paul E. McKenney wrote: > > > > > On Wed, Feb 19, 2014 at 02:33:27PM -0500, Paul Gortmaker wrote: > > > > The kbuild test bot uncovered an implicit dependence on the > > > > trace header being present before rcu.h in ia64 allmodconfig > > > > that looks like this: > > > > > > > > In file included from kernel/ksysfs.c:22:0: > > > > kernel/rcu/rcu.h: In function '__rcu_reclaim': > > > > kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] > > > > kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] > > > > cc1: some warnings being treated as errors > > > > > > > > Looking at other rcu.h users, we can find that they all > > > > were sourcing the trace header in advance of rcu.h itself, > > > > as seen in the context of this diff. There were also some > > > > inconsistencies as to whether it was or wasn't sourced based > > > > on the parent tracing Kconfig. > > > > > > > > Rather than "fix" it at each use site, and have inconsistent > > > > use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, > > > > lets just source the trace header just once, in the actual consumer > > > > of it, which is rcu.h itself. We include it unconditionally, as > > > > build testing shows us that is a hard requirement for some files. > > > > > > > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > > > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > > > > > > Queued for 3.16, thank you, Paul! > > > > Thanks! > > > > I'm assuming you meant 3.15 -- unless of course you are allowing > > for an insurance policy for me possibly breaking the build. ;) > > Well, it does seem to be doing better in testing. ;-) > > I split off the stuff for the 3.15 merge window a few days back, but > if the lack of this patch is causing a problem, I could be talked into > slipping it in. And it does seem to be doing well, so I will be putting it forward for 3.15. Thanx, Paul ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone 2014-02-23 17:27 ` Paul E. McKenney @ 2014-02-24 0:01 ` Paul Gortmaker 2014-02-24 1:18 ` Paul E. McKenney 0 siblings, 1 reply; 7+ messages in thread From: Paul Gortmaker @ 2014-02-24 0:01 UTC (permalink / raw) To: Paul E. McKenney; +Cc: Dipankar Sarma, linux-kernel [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 23/02/2014 (Sun 09:27) Paul E. McKenney wrote: > On Thu, Feb 20, 2014 at 01:00:39AM -0800, Paul E. McKenney wrote: > > On Wed, Feb 19, 2014 at 09:02:13PM -0500, Paul Gortmaker wrote: > > > [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 19/02/2014 (Wed 17:53) Paul E. McKenney wrote: > > > > > > > On Wed, Feb 19, 2014 at 02:33:27PM -0500, Paul Gortmaker wrote: > > > > > The kbuild test bot uncovered an implicit dependence on the > > > > > trace header being present before rcu.h in ia64 allmodconfig > > > > > that looks like this: > > > > > > > > > > In file included from kernel/ksysfs.c:22:0: > > > > > kernel/rcu/rcu.h: In function '__rcu_reclaim': > > > > > kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] > > > > > kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] > > > > > cc1: some warnings being treated as errors > > > > > > > > > > Looking at other rcu.h users, we can find that they all > > > > > were sourcing the trace header in advance of rcu.h itself, > > > > > as seen in the context of this diff. There were also some > > > > > inconsistencies as to whether it was or wasn't sourced based > > > > > on the parent tracing Kconfig. > > > > > > > > > > Rather than "fix" it at each use site, and have inconsistent > > > > > use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, > > > > > lets just source the trace header just once, in the actual consumer > > > > > of it, which is rcu.h itself. We include it unconditionally, as > > > > > build testing shows us that is a hard requirement for some files. > > > > > > > > > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > > > > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > > > > > > > > Queued for 3.16, thank you, Paul! > > > > > > Thanks! > > > > > > I'm assuming you meant 3.15 -- unless of course you are allowing > > > for an insurance policy for me possibly breaking the build. ;) > > > > Well, it does seem to be doing better in testing. ;-) > > > > I split off the stuff for the 3.15 merge window a few days back, but > > if the lack of this patch is causing a problem, I could be talked into > > slipping it in. > > And it does seem to be doing well, so I will be putting it forward for 3.15. Great, thanks -- there was really no rush; I'd just assumed that the 3.16 was a typo, since I personally can't plan that far ahead. ;) Paul. -- > > Thanx, Paul > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone 2014-02-24 0:01 ` Paul Gortmaker @ 2014-02-24 1:18 ` Paul E. McKenney 0 siblings, 0 replies; 7+ messages in thread From: Paul E. McKenney @ 2014-02-24 1:18 UTC (permalink / raw) To: Paul Gortmaker; +Cc: Dipankar Sarma, linux-kernel On Sun, Feb 23, 2014 at 07:01:04PM -0500, Paul Gortmaker wrote: > [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 23/02/2014 (Sun 09:27) Paul E. McKenney wrote: > > > On Thu, Feb 20, 2014 at 01:00:39AM -0800, Paul E. McKenney wrote: > > > On Wed, Feb 19, 2014 at 09:02:13PM -0500, Paul Gortmaker wrote: > > > > [Re: [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone] On 19/02/2014 (Wed 17:53) Paul E. McKenney wrote: > > > > > > > > > On Wed, Feb 19, 2014 at 02:33:27PM -0500, Paul Gortmaker wrote: > > > > > > The kbuild test bot uncovered an implicit dependence on the > > > > > > trace header being present before rcu.h in ia64 allmodconfig > > > > > > that looks like this: > > > > > > > > > > > > In file included from kernel/ksysfs.c:22:0: > > > > > > kernel/rcu/rcu.h: In function '__rcu_reclaim': > > > > > > kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration] > > > > > > kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration] > > > > > > cc1: some warnings being treated as errors > > > > > > > > > > > > Looking at other rcu.h users, we can find that they all > > > > > > were sourcing the trace header in advance of rcu.h itself, > > > > > > as seen in the context of this diff. There were also some > > > > > > inconsistencies as to whether it was or wasn't sourced based > > > > > > on the parent tracing Kconfig. > > > > > > > > > > > > Rather than "fix" it at each use site, and have inconsistent > > > > > > use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not, > > > > > > lets just source the trace header just once, in the actual consumer > > > > > > of it, which is rcu.h itself. We include it unconditionally, as > > > > > > build testing shows us that is a hard requirement for some files. > > > > > > > > > > > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > > > > > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > > > > > > > > > > Queued for 3.16, thank you, Paul! > > > > > > > > Thanks! > > > > > > > > I'm assuming you meant 3.15 -- unless of course you are allowing > > > > for an insurance policy for me possibly breaking the build. ;) > > > > > > Well, it does seem to be doing better in testing. ;-) > > > > > > I split off the stuff for the 3.15 merge window a few days back, but > > > if the lack of this patch is causing a problem, I could be talked into > > > slipping it in. > > > > And it does seem to be doing well, so I will be putting it forward for 3.15. > > Great, thanks -- there was really no rush; I'd just assumed that the > 3.16 was a typo, since I personally can't plan that far ahead. ;) I like to hammer new patches for a few weeks before passing them on. My experience is that if I fail to do so, they hammer me somewhat later. ;-) Thanx, Paul ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-02-24 1:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Message-ID: <20140219185850.GA23050@linux.vnet.ibm.com>
2014-02-19 19:33 ` [PATCH v2] rcu: ensure kernel/rcu/rcu.h can be sourced/used stand-alone Paul Gortmaker
2014-02-20 1:53 ` Paul E. McKenney
2014-02-20 2:02 ` Paul Gortmaker
2014-02-20 9:00 ` Paul E. McKenney
2014-02-23 17:27 ` Paul E. McKenney
2014-02-24 0:01 ` Paul Gortmaker
2014-02-24 1:18 ` Paul E. McKenney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox