Re: [PATCH 1/3] sh: Rename NR_syscalls macro to __NR_syscalls
From: Firoz Khan
Date: Tue Sep 18 2018 - 05:07:43 EST
On 11 August 2018 at 01:08, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Thu, 9 Aug 2018 20:58:58 +0800
> kbuild test robot <lkp@xxxxxxxxx> wrote:
>
>> Hi Firoz,
>>
>> Thank you for the patch! Yet something to improve:
>>
>> [auto build test ERROR on linus/master]
>> [also build test ERROR on v4.18-rc8 next-20180808]
>> [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/Firoz-Khan/sh-Rename-NR_syscalls-macro-to-__NR_syscalls/20180809-171759
>> config: sh-allmodconfig (attached as .config)
>> compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
>> reproduce:
>> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # save the attached .config to linux build tree
>> GCC_VERSION=7.2.0 make.cross ARCH=sh
>>
>> All errors (new ones prefixed by >>):
>>
>> In file included from kernel/trace/trace_selftest_dynamic.c:3:0:
>> >> kernel/trace/trace.h:243:53: error: 'NR_syscalls' undeclared here (not in a function); did you mean '__NR_syscalls'?
>> struct trace_event_file __rcu *enter_syscall_files[NR_syscalls];
>> ^~~~~~~~~~~
>> __NR_syscalls
>> --
>> In file included from kernel/trace/trace_output.h:6:0,
>> from kernel/trace/trace_syscalls.c:12:
>> >> kernel/trace/trace.h:243:53: error: 'NR_syscalls' undeclared here (not in a function); did you mean '__NR_syscalls'?
>> struct trace_event_file __rcu *enter_syscall_files[NR_syscalls];
>> ^~~~~~~~~~~
>> __NR_syscalls
>
> Most archs have a:
>
> #define NR_syscalls __NR_syscalls
Thanks for your reply!
Sorry for the delayed response :(
Yes. I'll add this change in the next version of the patch series.
- Firoz
>
>> In file included from include/linux/smp.h:11:0,
>> from include/linux/tracepoint.h:17,
>> from include/trace/syscall.h:5,
>> from kernel/trace/trace_syscalls.c:2:
>> kernel/trace/trace_syscalls.c:559:23: warning: 'enabled_perf_exit_syscalls' defined but not used [-Wunused-variable]
>> static DECLARE_BITMAP(enabled_perf_exit_syscalls, NR_syscalls);
>> ^
>> include/linux/types.h:11:16: note: in definition of macro 'DECLARE_BITMAP'
>> unsigned long name[BITS_TO_LONGS(bits)]
>> ^~~~
>> kernel/trace/trace_syscalls.c:558:23: warning: 'enabled_perf_enter_syscalls' defined but not used [-Wunused-variable]
>> static DECLARE_BITMAP(enabled_perf_enter_syscalls, NR_syscalls);
>> ^
>> include/linux/types.h:11:16: note: in definition of macro 'DECLARE_BITMAP'
>> unsigned long name[BITS_TO_LONGS(bits)]
>> ^~~~
>>
>> vim +243 kernel/trace/trace.h
>>
>> 490901078 Steven Rostedt (Red Hat 2015-09-24 196)
>> bc0c38d13 Steven Rostedt 2008-05-12 197 /*
>> bc0c38d13 Steven Rostedt 2008-05-12 198 * The trace array - an array of per-CPU trace arrays. This is the
>> bc0c38d13 Steven Rostedt 2008-05-12 199 * highest level data structure that individual tracers deal with.
>> bc0c38d13 Steven Rostedt 2008-05-12 200 * They have on/off state as well:
>> bc0c38d13 Steven Rostedt 2008-05-12 201 */
>> bc0c38d13 Steven Rostedt 2008-05-12 202 struct trace_array {
>> ae63b31e4 Steven Rostedt 2012-05-03 203 struct list_head list;
>> 277ba0446 Steven Rostedt 2012-08-03 204 char *name;
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 205) struct trace_buffer trace_buffer;
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 206) #ifdef CONFIG_TRACER_MAX_TRACE
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 207) /*
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 208) * The max_buffer is used to snapshot the trace when a maximum
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 209) * latency is reached, or when the user initiates a snapshot.
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 210) * Some tracers will use this to store a maximum trace while
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 211) * it continues examining live traces.
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 212) *
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 213) * The buffers for the max_buffer are set up the same as the trace_buffer
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 214) * When a snapshot is taken, the buffer of the max_buffer is swapped
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 215) * with the buffer of the trace_buffer and the buffers are reset for
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 216) * the trace_buffer so the tracing can continue.
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 217) */
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 218) struct trace_buffer max_buffer;
>> 45ad21ca5 Steven Rostedt (Red Hat 2013-03-05 219) bool allocated_snapshot;
>> f971cc9aa Steven Rostedt (Red Hat 2016-09-07 220) #endif
>> f971cc9aa Steven Rostedt (Red Hat 2016-09-07 221) #if defined(CONFIG_TRACER_MAX_TRACE) || defined(CONFIG_HWLAT_TRACER)
>> 6d9b3fa5e Steven Rostedt (Red Hat 2014-01-14 222) unsigned long max_latency;
>> 12883efb6 Steven Rostedt (Red Hat 2013-03-05 223) #endif
>> 490901078 Steven Rostedt (Red Hat 2015-09-24 224) struct trace_pid_list __rcu *filtered_pids;
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 225) /*
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 226) * max_lock is used to protect the swapping of buffers
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 227) * when taking a max snapshot. The buffers themselves are
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 228) * protected by per_cpu spinlocks. But the action of the swap
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 229) * needs its own lock.
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 230) *
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 231) * This is defined as a arch_spinlock_t in order to help
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 232) * with performance when lockdep debugging is enabled.
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 233) *
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 234) * It is also used in other places outside the update_max_tr
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 235) * so it needs to be defined outside of the
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 236) * CONFIG_TRACER_MAX_TRACE.
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 237) */
>> 0b9b12c1b Steven Rostedt (Red Hat 2014-01-14 238) arch_spinlock_t max_lock;
>> 499e54705 Steven Rostedt 2012-02-22 239 int buffer_disabled;
>> 12ab74ee0 Steven Rostedt 2012-08-08 240 #ifdef CONFIG_FTRACE_SYSCALLS
>> 12ab74ee0 Steven Rostedt 2012-08-08 241 int sys_refcount_enter;
>> 12ab74ee0 Steven Rostedt 2012-08-08 242 int sys_refcount_exit;
>> 7f1d2f821 Steven Rostedt (Red Hat 2015-05-05 @243) struct trace_event_file __rcu *enter_syscall_files[NR_syscalls];
>> 7f1d2f821 Steven Rostedt (Red Hat 2015-05-05 244) struct trace_event_file __rcu *exit_syscall_files[NR_syscalls];
>> 12ab74ee0 Steven Rostedt 2012-08-08 245 #endif
>> 2b6080f28 Steven Rostedt 2012-05-11 246 int stop_count;
>> 2b6080f28 Steven Rostedt 2012-05-11 247 int clock_id;
>> 37aea98b8 Steven Rostedt (Red Hat 2015-09-30 248) int nr_topts;
>> 065e63f95 Steven Rostedt (VMware 2017-08-31 249) bool clear_trace;
>> 2b6080f28 Steven Rostedt 2012-05-11 250 struct tracer *current_trace;
>> 983f938ae Steven Rostedt (Red Hat 2015-09-30 251) unsigned int trace_flags;
>> 9a38a8856 Steven Rostedt (Red Hat 2015-09-30 252) unsigned char trace_flags_index[TRACE_FLAGS_MAX_SIZE];
>> ae63b31e4 Steven Rostedt 2012-05-03 253 unsigned int flags;
>> 2b6080f28 Steven Rostedt 2012-05-11 254 raw_spinlock_t start_lock;
>> ae63b31e4 Steven Rostedt 2012-05-03 255 struct dentry *dir;
>> 2b6080f28 Steven Rostedt 2012-05-11 256 struct dentry *options;
>> 2b6080f28 Steven Rostedt 2012-05-11 257 struct dentry *percpu_dir;
>> ae63b31e4 Steven Rostedt 2012-05-03 258 struct dentry *event_dir;
>> 37aea98b8 Steven Rostedt (Red Hat 2015-09-30 259) struct trace_options *topts;
>> ae63b31e4 Steven Rostedt 2012-05-03 260 struct list_head systems;
>> ae63b31e4 Steven Rostedt 2012-05-03 261 struct list_head events;
>> 3dd809536 Steven Rostedt (VMware 2018-05-09 262) struct trace_event_file *trace_marker_file;
>> ccfe9e42e Alexander Z Lam 2013-08-08 263 cpumask_var_t tracing_cpumask; /* only trace on set CPUs */
>> a695cb581 Steven Rostedt (Red Hat 2013-03-06 264) int ref;
>> f20a58062 Steven Rostedt (Red Hat 2013-11-07 265) #ifdef CONFIG_FUNCTION_TRACER
>> f20a58062 Steven Rostedt (Red Hat 2013-11-07 266) struct ftrace_ops *ops;
>> 345ddcc88 Steven Rostedt (Red Hat 2016-04-22 267) struct trace_pid_list __rcu *function_pids;
>> 04ec7bb64 Steven Rostedt (VMware 2017-04-05 268) #ifdef CONFIG_DYNAMIC_FTRACE
>> 673feb9d7 Steven Rostedt (VMware 2017-06-23 269) /* All of these are protected by the ftrace_lock */
>> 04ec7bb64 Steven Rostedt (VMware 2017-04-05 270) struct list_head func_probes;
>> 673feb9d7 Steven Rostedt (VMware 2017-06-23 271) struct list_head mod_trace;
>> 673feb9d7 Steven Rostedt (VMware 2017-06-23 272) struct list_head mod_notrace;
>> 04ec7bb64 Steven Rostedt (VMware 2017-04-05 273) #endif
>> f20a58062 Steven Rostedt (Red Hat 2013-11-07 274) /* function tracing enabled */
>> f20a58062 Steven Rostedt (Red Hat 2013-11-07 275) int function_enabled;
>> f20a58062 Steven Rostedt (Red Hat 2013-11-07 276) #endif
>> 00b414529 Tom Zanussi 2018-01-15 277 int time_stamp_abs_ref;
>> 067fe038e Tom Zanussi 2018-01-15 278 struct list_head hist_vars;
>> bc0c38d13 Steven Rostedt 2008-05-12 279 };
>> bc0c38d13 Steven Rostedt 2008-05-12 280
>>
>> :::::: The code at line 243 was first introduced by commit
>> :::::: 7f1d2f8210195c8c309d424a77dbf06a6d2186f4 tracing: Rename ftrace_event_file to trace_event_file
>>
>> :::::: TO: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
>> :::::: CC: Steven Rostedt <rostedt@xxxxxxxxxxx>
>>
>> ---
>> 0-DAY kernel test infrastructure Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>