[PATCH] tracing: Add register read and write tracing support

kernel test robot lkp at intel.com
Sun Sep 27 22:37:31 EDT 2020


Hi Prasad,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/perf/core]
[also build test WARNING on trace/for-next arm64/for-next/core v5.9-rc7 next-20200925]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Prasad-Sodagudi/tracing-Add-register-read-and-write-tracing-support/20200928-083807
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a3b1e8451d3fd54fe0df661c2c4f983932b3c0bc
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/9048e77f99a2b88a28c7d4b6e51fe5c9ba30960d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Prasad-Sodagudi/tracing-Add-register-read-and-write-tracing-support/20200928-083807
        git checkout 9048e77f99a2b88a28c7d4b6e51fe5c9ba30960d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h: In function 'trace_raw_output_raw_write':
>> include/trace/events/rwio.h:27:12: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
      27 |  TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
         |            ^~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:367:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     367 |  trace_seq_printf(s, print);     \
         |                      ^~~~~
   include/trace/trace_events.h:80:9: note: in expansion of macro 'PARAMS'
      80 |         PARAMS(print));         \
         |         ^~~~~~
   include/trace/events/rwio.h:11:1: note: in expansion of macro 'TRACE_EVENT'
      11 | TRACE_EVENT(raw_write,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:27:2: note: in expansion of macro 'TP_printk'
      27 |  TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
         |  ^~~~~~~~~
   In file included from include/trace/trace_events.h:401,
                    from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h:27:14: note: format string is defined here
      27 |  TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
         |             ~^
         |              |
         |              void *
         |             %lld
   In file included from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h:27:12: warning: format '%p' expects argument of type 'void *', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
      27 |  TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
         |            ^~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:367:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     367 |  trace_seq_printf(s, print);     \
         |                      ^~~~~
   include/trace/trace_events.h:80:9: note: in expansion of macro 'PARAMS'
      80 |         PARAMS(print));         \
         |         ^~~~~~
   include/trace/events/rwio.h:11:1: note: in expansion of macro 'TRACE_EVENT'
      11 | TRACE_EVENT(raw_write,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:27:2: note: in expansion of macro 'TP_printk'
      27 |  TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
         |  ^~~~~~~~~
   In file included from include/trace/trace_events.h:401,
                    from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h:27:29: note: format string is defined here
      27 |  TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
         |                            ~^
         |                             |
         |                             void *
         |                            %lld
   In file included from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h: In function 'trace_raw_output_raw_read':
   include/trace/events/rwio.h:46:12: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
      46 |  TP_printk("%pS read addr=%p\n", __entry->fn, __entry->addr)
         |            ^~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:367:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     367 |  trace_seq_printf(s, print);     \
         |                      ^~~~~
   include/trace/trace_events.h:80:9: note: in expansion of macro 'PARAMS'
      80 |         PARAMS(print));         \
         |         ^~~~~~
   include/trace/events/rwio.h:30:1: note: in expansion of macro 'TRACE_EVENT'
      30 | TRACE_EVENT(raw_read,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:46:2: note: in expansion of macro 'TP_printk'
      46 |  TP_printk("%pS read addr=%p\n", __entry->fn, __entry->addr)
         |  ^~~~~~~~~
   In file included from include/trace/trace_events.h:401,
                    from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h:46:14: note: format string is defined here
      46 |  TP_printk("%pS read addr=%p\n", __entry->fn, __entry->addr)
         |             ~^
         |              |
         |              void *
         |             %lld
   In file included from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h:46:12: warning: format '%p' expects argument of type 'void *', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
      46 |  TP_printk("%pS read addr=%p\n", __entry->fn, __entry->addr)
         |            ^~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:367:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     367 |  trace_seq_printf(s, print);     \
         |                      ^~~~~
   include/trace/trace_events.h:80:9: note: in expansion of macro 'PARAMS'
      80 |         PARAMS(print));         \
         |         ^~~~~~
   include/trace/events/rwio.h:30:1: note: in expansion of macro 'TRACE_EVENT'
      30 | TRACE_EVENT(raw_read,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:46:2: note: in expansion of macro 'TP_printk'
      46 |  TP_printk("%pS read addr=%p\n", __entry->fn, __entry->addr)
         |  ^~~~~~~~~
   In file included from include/trace/trace_events.h:401,
                    from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h:46:28: note: format string is defined here
      46 |  TP_printk("%pS read addr=%p\n", __entry->fn, __entry->addr)
         |                           ~^
         |                            |
         |                            void *
         |                           %lld
   In file included from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h: In function 'trace_event_raw_event_raw_write':
>> include/trace/events/rwio.h:24:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      24 |   __entry->addr = (u64)addr;
         |                   ^
   include/trace/trace_events.h:695:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
     695 |  { assign; }       \
         |    ^~~~~~
   include/trace/trace_events.h:79:9: note: in expansion of macro 'PARAMS'
      79 |         PARAMS(assign),         \
         |         ^~~~~~
   include/trace/events/rwio.h:11:1: note: in expansion of macro 'TRACE_EVENT'
      11 | TRACE_EVENT(raw_write,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:22:2: note: in expansion of macro 'TP_fast_assign'
      22 |  TP_fast_assign(
         |  ^~~~~~~~~~~~~~
   include/trace/events/rwio.h: In function 'trace_event_raw_event_raw_read':
   include/trace/events/rwio.h:43:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      43 |   __entry->addr = (u64)addr;
         |                   ^
   include/trace/trace_events.h:695:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
     695 |  { assign; }       \
         |    ^~~~~~
   include/trace/trace_events.h:79:9: note: in expansion of macro 'PARAMS'
      79 |         PARAMS(assign),         \
         |         ^~~~~~
   include/trace/events/rwio.h:30:1: note: in expansion of macro 'TRACE_EVENT'
      30 | TRACE_EVENT(raw_read,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:41:2: note: in expansion of macro 'TP_fast_assign'
      41 |  TP_fast_assign(
         |  ^~~~~~~~~~~~~~
   In file included from include/trace/define_trace.h:103,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   include/trace/events/rwio.h: In function 'perf_trace_raw_write':
>> include/trace/events/rwio.h:24:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      24 |   __entry->addr = (u64)addr;
         |                   ^
   include/trace/perf.h:66:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
      66 |  { assign; }       \
         |    ^~~~~~
   include/trace/trace_events.h:79:9: note: in expansion of macro 'PARAMS'
      79 |         PARAMS(assign),         \
         |         ^~~~~~
   include/trace/events/rwio.h:11:1: note: in expansion of macro 'TRACE_EVENT'
      11 | TRACE_EVENT(raw_write,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:22:2: note: in expansion of macro 'TP_fast_assign'
      22 |  TP_fast_assign(
         |  ^~~~~~~~~~~~~~
   include/trace/events/rwio.h: In function 'perf_trace_raw_read':
   include/trace/events/rwio.h:43:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      43 |   __entry->addr = (u64)addr;
         |                   ^
   include/trace/perf.h:66:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
      66 |  { assign; }       \
         |    ^~~~~~
   include/trace/trace_events.h:79:9: note: in expansion of macro 'PARAMS'
      79 |         PARAMS(assign),         \
         |         ^~~~~~
   include/trace/events/rwio.h:30:1: note: in expansion of macro 'TRACE_EVENT'
      30 | TRACE_EVENT(raw_read,
         | ^~~~~~~~~~~
   include/trace/events/rwio.h:41:2: note: in expansion of macro 'TP_fast_assign'
      41 |  TP_fast_assign(
         |  ^~~~~~~~~~~~~~
   In file included from include/linux/perf_event.h:25,
                    from include/linux/trace_events.h:10,
                    from include/trace/trace_events.h:21,
                    from include/trace/define_trace.h:102,
                    from include/trace/events/rwio.h:51,
                    from kernel/trace/trace_readwrite.c:15:
   At top level:
   arch/arc/include/asm/perf_event.h:126:23: warning: 'arc_pmu_cache_map' defined but not used [-Wunused-const-variable=]
     126 | static const unsigned arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
         |                       ^~~~~~~~~~~~~~~~~
   arch/arc/include/asm/perf_event.h:91:27: warning: 'arc_pmu_ev_hw_map' defined but not used [-Wunused-const-variable=]
      91 | static const char * const arc_pmu_ev_hw_map[] = {
         |                           ^~~~~~~~~~~~~~~~~

vim +27 include/trace/events/rwio.h

    12	
    13		TP_PROTO(unsigned long fn, volatile void __iomem *addr),
    14	
    15		TP_ARGS(fn, addr),
    16	
    17		TP_STRUCT__entry(
    18			__field(u64, fn)
    19			__field(u64, addr)
    20		),
    21	
    22		TP_fast_assign(
    23			__entry->fn = fn;
  > 24			__entry->addr = (u64)addr;
    25		),
    26	
  > 27		TP_printk("%pS write addr=%p\n", __entry->fn, __entry->addr)
    28	);
    29	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 65317 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20200928/f71544ef/attachment-0001.gz>


More information about the linux-arm-kernel mailing list