Re: [PATCH 4/4 v2] init: Have initcall_debug still work without CONFIG_TRACEPOINTS

2018-04-07 Thread kbuild test robot
Hi Steven,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16 next-20180406]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Steven-Rostedt/init-tracing/20180407-130743
config: i386-randconfig-x006-201813 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All warnings (new ones prefixed by >>):

>> init/main.c:849:15: warning: return type defaults to 'int' [-Wreturn-type]
static inline initcall_debug_enable(void)
  ^
>> init/main.c:849:15: warning: conflicting types for 'initcall_debug_enable'
   init/main.c:499:20: note: previous declaration of 'initcall_debug_enable' 
was here
static void __init initcall_debug_enable(void);
   ^

vim +/int +849 init/main.c

   834  
   835  #ifdef TRACEPOINTS_ENABLED
   836  static void __init initcall_debug_enable(void)
   837  {
   838  int ret;
   839  
   840  ret = register_trace_initcall_start(trace_initcall_start_cb,
   841  _calltime);
   842  ret |= register_trace_initcall_finish(trace_initcall_finish_cb,
   843_calltime);
   844  WARN(ret, "Failed to register initcall tracepoints\n");
   845  }
   846  # define do_trace_initcall_starttrace_initcall_start
   847  # define do_trace_initcall_finish   trace_initcall_finish
   848  #else
 > 849  static inline initcall_debug_enable(void)
   850  {
   851  }
   852  static inline void do_trace_initcall_start(initcall_t fn)
   853  {
   854  if (!initcall_debug)
   855  return;
   856  trace_initcall_start_cb(_calltime, fn);
   857  }
   858  static inline void do_trace_initcall_finish(initcall_t fn, int ret)
   859  {
   860  if (!initcall_debug)
   861  return;
   862  trace_initcall_finish_cb(_calltime, fn, ret);
   863  }
   864  #endif /* !TRACEPOINTS_ENABLED */
   865  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip


Re: [PATCH 4/4 v2] init: Have initcall_debug still work without CONFIG_TRACEPOINTS

2018-04-07 Thread kbuild test robot
Hi Steven,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16 next-20180406]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Steven-Rostedt/init-tracing/20180407-130743
config: i386-randconfig-x006-201813 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All warnings (new ones prefixed by >>):

>> init/main.c:849:15: warning: return type defaults to 'int' [-Wreturn-type]
static inline initcall_debug_enable(void)
  ^
>> init/main.c:849:15: warning: conflicting types for 'initcall_debug_enable'
   init/main.c:499:20: note: previous declaration of 'initcall_debug_enable' 
was here
static void __init initcall_debug_enable(void);
   ^

vim +/int +849 init/main.c

   834  
   835  #ifdef TRACEPOINTS_ENABLED
   836  static void __init initcall_debug_enable(void)
   837  {
   838  int ret;
   839  
   840  ret = register_trace_initcall_start(trace_initcall_start_cb,
   841  _calltime);
   842  ret |= register_trace_initcall_finish(trace_initcall_finish_cb,
   843_calltime);
   844  WARN(ret, "Failed to register initcall tracepoints\n");
   845  }
   846  # define do_trace_initcall_starttrace_initcall_start
   847  # define do_trace_initcall_finish   trace_initcall_finish
   848  #else
 > 849  static inline initcall_debug_enable(void)
   850  {
   851  }
   852  static inline void do_trace_initcall_start(initcall_t fn)
   853  {
   854  if (!initcall_debug)
   855  return;
   856  trace_initcall_start_cb(_calltime, fn);
   857  }
   858  static inline void do_trace_initcall_finish(initcall_t fn, int ret)
   859  {
   860  if (!initcall_debug)
   861  return;
   862  trace_initcall_finish_cb(_calltime, fn, ret);
   863  }
   864  #endif /* !TRACEPOINTS_ENABLED */
   865  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip


[PATCH 4/4 v2] init: Have initcall_debug still work without CONFIG_TRACEPOINTS

2018-04-06 Thread Steven Rostedt
From: "Steven Rostedt (VMware)" 

Add macros around the initcall_debug tracepoint code to have the code to
default back to the old method if CONFIG_TRACEPOINTS is not enabled.

Signed-off-by: Steven Rostedt (VMware) 
---
 init/main.c | 24 ++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/init/main.c b/init/main.c
index 589d1226016e..07f56d667c33 100644
--- a/init/main.c
+++ b/init/main.c
@@ -832,6 +832,7 @@ trace_initcall_finish_cb(void *data, initcall_t fn, int ret)
 
 static ktime_t initcall_calltime;
 
+#ifdef TRACEPOINTS_ENABLED
 static void __init initcall_debug_enable(void)
 {
int ret;
@@ -842,6 +843,25 @@ static void __init initcall_debug_enable(void)
  _calltime);
WARN(ret, "Failed to register initcall tracepoints\n");
 }
+# define do_trace_initcall_start   trace_initcall_start
+# define do_trace_initcall_finish  trace_initcall_finish
+#else
+static inline initcall_debug_enable(void)
+{
+}
+static inline void do_trace_initcall_start(initcall_t fn)
+{
+   if (!initcall_debug)
+   return;
+   trace_initcall_start_cb(_calltime, fn);
+}
+static inline void do_trace_initcall_finish(initcall_t fn, int ret)
+{
+   if (!initcall_debug)
+   return;
+   trace_initcall_finish_cb(_calltime, fn, ret);
+}
+#endif /* !TRACEPOINTS_ENABLED */
 
 int __init_or_module do_one_initcall(initcall_t fn)
 {
@@ -852,9 +872,9 @@ int __init_or_module do_one_initcall(initcall_t fn)
if (initcall_blacklisted(fn))
return -EPERM;
 
-   trace_initcall_start(fn);
+   do_trace_initcall_start(fn);
ret = fn();
-   trace_initcall_finish(fn, ret);
+   do_trace_initcall_finish(fn, ret);
 
msgbuf[0] = 0;
 
-- 
2.15.1




[PATCH 4/4 v2] init: Have initcall_debug still work without CONFIG_TRACEPOINTS

2018-04-06 Thread Steven Rostedt
From: "Steven Rostedt (VMware)" 

Add macros around the initcall_debug tracepoint code to have the code to
default back to the old method if CONFIG_TRACEPOINTS is not enabled.

Signed-off-by: Steven Rostedt (VMware) 
---
 init/main.c | 24 ++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/init/main.c b/init/main.c
index 589d1226016e..07f56d667c33 100644
--- a/init/main.c
+++ b/init/main.c
@@ -832,6 +832,7 @@ trace_initcall_finish_cb(void *data, initcall_t fn, int ret)
 
 static ktime_t initcall_calltime;
 
+#ifdef TRACEPOINTS_ENABLED
 static void __init initcall_debug_enable(void)
 {
int ret;
@@ -842,6 +843,25 @@ static void __init initcall_debug_enable(void)
  _calltime);
WARN(ret, "Failed to register initcall tracepoints\n");
 }
+# define do_trace_initcall_start   trace_initcall_start
+# define do_trace_initcall_finish  trace_initcall_finish
+#else
+static inline initcall_debug_enable(void)
+{
+}
+static inline void do_trace_initcall_start(initcall_t fn)
+{
+   if (!initcall_debug)
+   return;
+   trace_initcall_start_cb(_calltime, fn);
+}
+static inline void do_trace_initcall_finish(initcall_t fn, int ret)
+{
+   if (!initcall_debug)
+   return;
+   trace_initcall_finish_cb(_calltime, fn, ret);
+}
+#endif /* !TRACEPOINTS_ENABLED */
 
 int __init_or_module do_one_initcall(initcall_t fn)
 {
@@ -852,9 +872,9 @@ int __init_or_module do_one_initcall(initcall_t fn)
if (initcall_blacklisted(fn))
return -EPERM;
 
-   trace_initcall_start(fn);
+   do_trace_initcall_start(fn);
ret = fn();
-   trace_initcall_finish(fn, ret);
+   do_trace_initcall_finish(fn, ret);
 
msgbuf[0] = 0;
 
-- 
2.15.1