[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202207160905.GmOfByea-lkp@intel.com>
Date: Sat, 16 Jul 2022 09:09:15 +0800
From: kernel test robot <lkp@...el.com>
To: "Steven Rostedt (Google)" <rostedt@...dmis.org>
Cc: kbuild-all@...ts.01.org, Ammar Faizi <ammarfaizi2@...weeb.org>,
GNU/Weeb Mailing List <gwml@...r.gnuweeb.org>,
linux-kernel@...r.kernel.org
Subject: [ammarfaizi2-block:rostedt/linux-trace/ftrace/core 30/30]
include/linux/cpumask.h:95:42: warning: function
'trace_event_get_offsets_foo_bar' might be a candidate for 'gnu_printf'
format attribute
tree: https://github.com/ammarfaizi2/linux-block rostedt/linux-trace/ftrace/core
head: 26b2da5fc0b41a9a6a5e30b858da28572a6f4cbc
commit: 26b2da5fc0b41a9a6a5e30b858da28572a6f4cbc [30/30] tracing: Add example and documentation for new __vstring() macro
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220716/202207160905.GmOfByea-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/ammarfaizi2/linux-block/commit/26b2da5fc0b41a9a6a5e30b858da28572a6f4cbc
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block rostedt/linux-trace/ftrace/core
git checkout 26b2da5fc0b41a9a6a5e30b858da28572a6f4cbc
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash samples/trace_events/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
In file included from include/trace/define_trace.h:102,
from samples/trace_events/trace-events-sample.h:608,
from samples/trace_events/trace-events-sample.c:12:
samples/trace_events/./trace-events-sample.h: In function 'trace_event_get_offsets_foo_bar':
>> include/linux/cpumask.h:95:42: warning: function 'trace_event_get_offsets_foo_bar' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
| ^~~~~~~
include/trace/trace_events.h:263:9: note: in definition of macro 'DECLARE_EVENT_CLASS'
263 | tstruct; \
| ^~~~~~~
include/trace/trace_events.h:43:30: note: in expansion of macro 'PARAMS'
43 | PARAMS(tstruct), \
| ^~~~~~
samples/trace_events/./trace-events-sample.h:277:1: note: in expansion of macro 'TRACE_EVENT'
277 | TRACE_EVENT(foo_bar,
| ^~~~~~~~~~~
samples/trace_events/./trace-events-sample.h:285:9: note: in expansion of macro 'TP_STRUCT__entry'
285 | TP_STRUCT__entry(
| ^~~~~~~~~~~~~~~~
include/trace/stages/stage5_get_offsets.h:82:34: note: in expansion of macro '__dynamic_array'
82 | #define __bitmask(item, nr_bits) __dynamic_array(unsigned long, item, \
| ^~~~~~~~~~~~~~~
include/trace/stages/stage5_get_offsets.h:70:11: note: in expansion of macro '__bitmask_size_in_bytes_raw'
70 | ((__bitmask_size_in_bytes_raw(nr_bits) + \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/stages/stage5_get_offsets.h:83:42: note: in expansion of macro '__bitmask_size_in_longs'
83 | __bitmask_size_in_longs(nr_bits))
| ^~~~~~~~~~~~~~~~~~~~~~~
samples/trace_events/./trace-events-sample.h:290:17: note: in expansion of macro '__bitmask'
290 | __bitmask( cpus, num_possible_cpus() )
| ^~~~~~~~~
include/linux/cpumask.h:915:48: note: in expansion of macro 'cpu_possible_mask'
915 | #define num_possible_cpus() cpumask_weight(cpu_possible_mask)
| ^~~~~~~~~~~~~~~~~
samples/trace_events/./trace-events-sample.h:290:41: note: in expansion of macro 'num_possible_cpus'
290 | __bitmask( cpus, num_possible_cpus() )
| ^~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from samples/trace_events/trace-events-sample.h:608,
from samples/trace_events/trace-events-sample.c:12:
samples/trace_events/./trace-events-sample.h: In function 'trace_event_raw_event_foo_bar':
include/trace/trace_events.h:386:16: warning: function 'trace_event_raw_event_foo_bar' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
386 | struct trace_event_raw_##call *entry; \
| ^~~~~~~~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
samples/trace_events/./trace-events-sample.h:277:1: note: in expansion of macro 'TRACE_EVENT'
277 | TRACE_EVENT(foo_bar,
| ^~~~~~~~~~~
In file included from include/trace/define_trace.h:103,
from samples/trace_events/trace-events-sample.h:608,
from samples/trace_events/trace-events-sample.c:12:
samples/trace_events/./trace-events-sample.h: In function 'perf_trace_foo_bar':
include/trace/perf.h:64:16: warning: function 'perf_trace_foo_bar' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
64 | struct hlist_head *head; \
| ^~~~~~~~~~
include/trace/trace_events.h:40:9: note: in expansion of macro 'DECLARE_EVENT_CLASS'
40 | DECLARE_EVENT_CLASS(name, \
| ^~~~~~~~~~~~~~~~~~~
samples/trace_events/./trace-events-sample.h:277:1: note: in expansion of macro 'TRACE_EVENT'
277 | TRACE_EVENT(foo_bar,
| ^~~~~~~~~~~
vim +95 include/linux/cpumask.h
^1da177e4c3f415 Linus Torvalds 2005-04-16 49
^1da177e4c3f415 Linus Torvalds 2005-04-16 50 /*
^1da177e4c3f415 Linus Torvalds 2005-04-16 51 * The following particular system cpumasks and operations manage
b3199c025d1646e Rusty Russell 2008-12-30 52 * possible, present, active and online cpus.
^1da177e4c3f415 Linus Torvalds 2005-04-16 53 *
b3199c025d1646e Rusty Russell 2008-12-30 54 * cpu_possible_mask- has bit 'cpu' set iff cpu is populatable
b3199c025d1646e Rusty Russell 2008-12-30 55 * cpu_present_mask - has bit 'cpu' set iff cpu is populated
b3199c025d1646e Rusty Russell 2008-12-30 56 * cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler
b3199c025d1646e Rusty Russell 2008-12-30 57 * cpu_active_mask - has bit 'cpu' set iff cpu available to migration
^1da177e4c3f415 Linus Torvalds 2005-04-16 58 *
b3199c025d1646e Rusty Russell 2008-12-30 59 * If !CONFIG_HOTPLUG_CPU, present == possible, and active == online.
^1da177e4c3f415 Linus Torvalds 2005-04-16 60 *
b3199c025d1646e Rusty Russell 2008-12-30 61 * The cpu_possible_mask is fixed at boot time, as the set of CPU id's
b3199c025d1646e Rusty Russell 2008-12-30 62 * that it is possible might ever be plugged in at anytime during the
b3199c025d1646e Rusty Russell 2008-12-30 63 * life of that system boot. The cpu_present_mask is dynamic(*),
b3199c025d1646e Rusty Russell 2008-12-30 64 * representing which CPUs are currently plugged in. And
b3199c025d1646e Rusty Russell 2008-12-30 65 * cpu_online_mask is the dynamic subset of cpu_present_mask,
b3199c025d1646e Rusty Russell 2008-12-30 66 * indicating those CPUs available for scheduling.
b3199c025d1646e Rusty Russell 2008-12-30 67 *
b3199c025d1646e Rusty Russell 2008-12-30 68 * If HOTPLUG is enabled, then cpu_possible_mask is forced to have
^1da177e4c3f415 Linus Torvalds 2005-04-16 69 * all NR_CPUS bits set, otherwise it is just the set of CPUs that
^1da177e4c3f415 Linus Torvalds 2005-04-16 70 * ACPI reports present at boot.
^1da177e4c3f415 Linus Torvalds 2005-04-16 71 *
b3199c025d1646e Rusty Russell 2008-12-30 72 * If HOTPLUG is enabled, then cpu_present_mask varies dynamically,
^1da177e4c3f415 Linus Torvalds 2005-04-16 73 * depending on what ACPI reports as currently plugged in, otherwise
b3199c025d1646e Rusty Russell 2008-12-30 74 * cpu_present_mask is just a copy of cpu_possible_mask.
^1da177e4c3f415 Linus Torvalds 2005-04-16 75 *
b3199c025d1646e Rusty Russell 2008-12-30 76 * (*) Well, cpu_present_mask is dynamic in the hotplug case. If not
b3199c025d1646e Rusty Russell 2008-12-30 77 * hotplug, it's a copy of cpu_possible_mask, hence fixed at boot.
^1da177e4c3f415 Linus Torvalds 2005-04-16 78 *
^1da177e4c3f415 Linus Torvalds 2005-04-16 79 * Subtleties:
^1da177e4c3f415 Linus Torvalds 2005-04-16 80 * 1) UP arch's (NR_CPUS == 1, CONFIG_SMP not defined) hardcode
^1da177e4c3f415 Linus Torvalds 2005-04-16 81 * assumption that their single CPU is online. The UP
b3199c025d1646e Rusty Russell 2008-12-30 82 * cpu_{online,possible,present}_masks are placebos. Changing them
^1da177e4c3f415 Linus Torvalds 2005-04-16 83 * will have no useful affect on the following num_*_cpus()
^1da177e4c3f415 Linus Torvalds 2005-04-16 84 * and cpu_*() macros in the UP case. This ugliness is a UP
^1da177e4c3f415 Linus Torvalds 2005-04-16 85 * optimization - don't waste any instructions or memory references
^1da177e4c3f415 Linus Torvalds 2005-04-16 86 * asking if you're online or how many CPUs there are if there is
^1da177e4c3f415 Linus Torvalds 2005-04-16 87 * only one CPU.
^1da177e4c3f415 Linus Torvalds 2005-04-16 88 */
^1da177e4c3f415 Linus Torvalds 2005-04-16 89
4b804c85dc37db6 Rasmus Villemoes 2016-01-20 90 extern struct cpumask __cpu_possible_mask;
4b804c85dc37db6 Rasmus Villemoes 2016-01-20 91 extern struct cpumask __cpu_online_mask;
4b804c85dc37db6 Rasmus Villemoes 2016-01-20 92 extern struct cpumask __cpu_present_mask;
4b804c85dc37db6 Rasmus Villemoes 2016-01-20 93 extern struct cpumask __cpu_active_mask;
e40f74c535b8a0e Peter Zijlstra 2021-01-19 94 extern struct cpumask __cpu_dying_mask;
5aec01b834fd6f8 Rasmus Villemoes 2016-01-20 @95 #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
5aec01b834fd6f8 Rasmus Villemoes 2016-01-20 96 #define cpu_online_mask ((const struct cpumask *)&__cpu_online_mask)
5aec01b834fd6f8 Rasmus Villemoes 2016-01-20 97 #define cpu_present_mask ((const struct cpumask *)&__cpu_present_mask)
5aec01b834fd6f8 Rasmus Villemoes 2016-01-20 98 #define cpu_active_mask ((const struct cpumask *)&__cpu_active_mask)
e40f74c535b8a0e Peter Zijlstra 2021-01-19 99 #define cpu_dying_mask ((const struct cpumask *)&__cpu_dying_mask)
b3199c025d1646e Rusty Russell 2008-12-30 100
:::::: The code at line 95 was first introduced by commit
:::::: 5aec01b834fd6f8ca49d1aeede665b950d0c148e kernel/cpu.c: eliminate cpu_*_mask
:::::: TO: Rasmus Villemoes <linux@...musvillemoes.dk>
:::::: CC: Linus Torvalds <torvalds@...ux-foundation.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists