Re: [PATCH 4/4 v2] init: Have initcall_debug still work without CONFIG_TRACEPOINTS
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
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
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
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