[PATCH v7] binder: transaction latency tracking for user build

Greg Kroah-Hartman gregkh at linuxfoundation.org
Thu Sep 3 12:21:05 EDT 2020


On Tue, Aug 04, 2020 at 09:59:09PM +0800, Frankie Chang wrote:
> 
> Frankie.Chang (3):
>   binder: move structs from core file to header file
>   binder: add trace at free transaction.
>   binder: add transaction latency tracer
> 
>  drivers/android/Kconfig                 |    8 +
>  drivers/android/Makefile                |    1 +
>  drivers/android/binder.c                |  425 ++-----------------------------
>  drivers/android/binder_internal.h       |  417 ++++++++++++++++++++++++++++++
>  drivers/android/binder_latency_tracer.c |  112 ++++++++
>  drivers/android/binder_trace.h          |   49 ++++
>  6 files changed, 607 insertions(+), 405 deletions(-)  create mode 100644 drivers/android/binder_latency_tracer.c

This series blows up the build into lots of tiny pieces, how was it
tested?

Here's my error logs:

In file included from drivers/android/binderfs.c:37:
drivers/android/binder_internal.h:537:17: error: field ‘tv’ has incomplete type
  537 |  struct timeval tv;
      |                 ^~
In file included from drivers/android/binder_trace.h:12,
                 from drivers/android/binder_alloc.c:27:
drivers/android/binder_trace.h: In function ‘trace_binder_txn_latency_alloc’:
drivers/android/binder_trace.h:100:13: error: ‘e’ undeclared (first use in this function)
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:236:5: note: in expansion of macro ‘TP_ARGS’
  236 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
drivers/android/binder_trace.h:100:13: note: each undeclared identifier is reported only once for each function it appears in
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:236:5: note: in expansion of macro ‘TP_ARGS’
  236 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
./include/linux/tracepoint.h:191:6: error: too many arguments to function ‘(void (*)(void *, struct binder_transaction *))it_func’
  191 |     ((void(*)(proto))(it_func))(args); \
      |     ~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:234:4: note: in expansion of macro ‘__DO_TRACE’
  234 |    __DO_TRACE(&__tracepoint_##name,  \
      |    ^~~~~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h: In function ‘trace_binder_txn_latency_alloc_rcuidle’:
drivers/android/binder_trace.h:100:13: error: ‘e’ undeclared (first use in this function)
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:210:5: note: in expansion of macro ‘TP_ARGS’
  210 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:244:2: note: in expansion of macro ‘__DECLARE_TRACE_RCU’
  244 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:245:37: note: in expansion of macro ‘PARAMS’
  245 |   PARAMS(cond), PARAMS(data_proto), PARAMS(data_args)) \
      |                                     ^~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
./include/linux/tracepoint.h:191:6: error: too many arguments to function ‘(void (*)(void *, struct binder_transaction *))it_func’
  191 |     ((void(*)(proto))(it_func))(args); \
      |     ~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:208:4: note: in expansion of macro ‘__DO_TRACE’
  208 |    __DO_TRACE(&__tracepoint_##name,  \
      |    ^~~~~~~~~~
./include/linux/tracepoint.h:244:2: note: in expansion of macro ‘__DECLARE_TRACE_RCU’
  244 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h: At top level:
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:231:34: note: in definition of macro ‘__DECLARE_TRACE’
  231 |  static inline void trace_##name(proto)    \
      |                                  ^~~~~
./include/linux/tracepoint.h:375:24: note: in expansion of macro ‘PARAMS’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |                        ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:205:44: note: in definition of macro ‘__DECLARE_TRACE_RCU’
  205 |  static inline void trace_##name##_rcuidle(proto)  \
      |                                            ^~~~~
./include/linux/tracepoint.h:244:28: note: in expansion of macro ‘PARAMS’
  244 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
      |                            ^~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:375:24: note: in expansion of macro ‘PARAMS’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |                        ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:247:38: note: in definition of macro ‘__DECLARE_TRACE’
  247 |  register_trace_##name(void (*probe)(data_proto), void *data) \
      |                                      ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:247:51: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  247 |  register_trace_##name(void (*probe)(data_proto), void *data) \
      |                                                   ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:253:43: note: in definition of macro ‘__DECLARE_TRACE’
  253 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
      |                                           ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:253:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  253 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
      |                                                        ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:260:40: note: in definition of macro ‘__DECLARE_TRACE’
  260 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
      |                                        ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:260:53: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  260 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
      |                                                     ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:266:46: note: in definition of macro ‘__DECLARE_TRACE’
  266 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
      |                                              ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
make[2]: *** [scripts/Makefile.build:283: drivers/android/binderfs.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from drivers/android/binder_latency_tracer.c:8:
drivers/android/binder_internal.h:141:20: error: ‘BINDERFS_MAX_NAME’ undeclared here (not in a function)
  141 |  char context_name[BINDERFS_MAX_NAME + 1];
      |                    ^~~~~~~~~~~~~~~~~
drivers/android/binder_internal.h:537:17: error: field ‘tv’ has incomplete type
  537 |  struct timeval tv;
      |                 ^~
In file included from drivers/android/binder_trace.h:12,
                 from drivers/android/binder_latency_tracer.c:9:
drivers/android/binder_trace.h: In function ‘trace_binder_txn_latency_alloc’:
drivers/android/binder_trace.h:100:13: error: ‘e’ undeclared (first use in this function)
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:236:5: note: in expansion of macro ‘TP_ARGS’
  236 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
drivers/android/binder_trace.h:100:13: note: each undeclared identifier is reported only once for each function it appears in
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:236:5: note: in expansion of macro ‘TP_ARGS’
  236 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
./include/linux/tracepoint.h:191:6: error: too many arguments to function ‘(void (*)(void *, struct binder_transaction *))it_func’
  191 |     ((void(*)(proto))(it_func))(args); \
      |     ~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:234:4: note: in expansion of macro ‘__DO_TRACE’
  234 |    __DO_TRACE(&__tracepoint_##name,  \
      |    ^~~~~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h: At top level:
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:231:34: note: in definition of macro ‘__DECLARE_TRACE’
  231 |  static inline void trace_##name(proto)    \
      |                                  ^~~~~
./include/linux/tracepoint.h:375:24: note: in expansion of macro ‘PARAMS’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |                        ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:247:38: note: in definition of macro ‘__DECLARE_TRACE’
  247 |  register_trace_##name(void (*probe)(data_proto), void *data) \
      |                                      ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:247:51: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  247 |  register_trace_##name(void (*probe)(data_proto), void *data) \
      |                                                   ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:253:43: note: in definition of macro ‘__DECLARE_TRACE’
  253 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
      |                                           ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:253:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  253 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
      |                                                        ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:260:40: note: in definition of macro ‘__DECLARE_TRACE’
  260 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
      |                                        ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:260:53: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  260 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
      |                                                     ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:266:46: note: in definition of macro ‘__DECLARE_TRACE’
  266 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
      |                                              ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
In file included from drivers/android/binder.c:75:
drivers/android/binder_internal.h:537:17: error: field ‘tv’ has incomplete type
  537 |  struct timeval tv;
      |                 ^~
In file included from ./include/trace/syscall.h:5,
                 from ./include/linux/syscalls.h:84,
                 from drivers/android/binder.c:66:
drivers/android/binder_trace.h: In function ‘trace_binder_txn_latency_alloc’:
drivers/android/binder_trace.h:100:13: error: ‘e’ undeclared (first use in this function)
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:236:5: note: in expansion of macro ‘TP_ARGS’
  236 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
drivers/android/binder_trace.h:100:13: note: each undeclared identifier is reported only once for each function it appears in
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:236:5: note: in expansion of macro ‘TP_ARGS’
  236 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
./include/linux/tracepoint.h:191:6: error: too many arguments to function ‘(void (*)(void *, struct binder_transaction *))it_func’
  191 |     ((void(*)(proto))(it_func))(args); \
      |     ~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:234:4: note: in expansion of macro ‘__DO_TRACE’
  234 |    __DO_TRACE(&__tracepoint_##name,  \
      |    ^~~~~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h: In function ‘trace_binder_txn_latency_alloc_rcuidle’:
drivers/android/binder_trace.h:100:13: error: ‘e’ undeclared (first use in this function)
  100 |  TP_ARGS(t, e)
      |             ^
./include/linux/tracepoint.h:191:33: note: in definition of macro ‘__DO_TRACE’
  191 |     ((void(*)(proto))(it_func))(args); \
      |                                 ^~~~
./include/linux/tracepoint.h:210:5: note: in expansion of macro ‘TP_ARGS’
  210 |     TP_ARGS(data_args),   \
      |     ^~~~~~~
./include/linux/tracepoint.h:244:2: note: in expansion of macro ‘__DECLARE_TRACE_RCU’
  244 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:245:37: note: in expansion of macro ‘PARAMS’
  245 |   PARAMS(cond), PARAMS(data_proto), PARAMS(data_args)) \
      |                                     ^~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:378:4: note: in expansion of macro ‘PARAMS’
  378 |    PARAMS(__data, args))
      |    ^~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h:100:2: note: in expansion of macro ‘TP_ARGS’
  100 |  TP_ARGS(t, e)
      |  ^~~~~~~
./include/linux/tracepoint.h:191:6: error: too many arguments to function ‘(void (*)(void *, struct binder_transaction *))it_func’
  191 |     ((void(*)(proto))(it_func))(args); \
      |     ~^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:208:4: note: in expansion of macro ‘__DO_TRACE’
  208 |    __DO_TRACE(&__tracepoint_##name,  \
      |    ^~~~~~~~~~
./include/linux/tracepoint.h:244:2: note: in expansion of macro ‘__DECLARE_TRACE_RCU’
  244 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
drivers/android/binder_trace.h:98:1: note: in expansion of macro ‘DECLARE_TRACE’
   98 | DECLARE_TRACE(binder_txn_latency_alloc,
      | ^~~~~~~~~~~~~
drivers/android/binder_trace.h: At top level:
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:231:34: note: in definition of macro ‘__DECLARE_TRACE’
  231 |  static inline void trace_##name(proto)    \
      |                                  ^~~~~
./include/linux/tracepoint.h:375:24: note: in expansion of macro ‘PARAMS’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |                        ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:205:44: note: in definition of macro ‘__DECLARE_TRACE_RCU’
  205 |  static inline void trace_##name##_rcuidle(proto)  \
      |                                            ^~~~~
./include/linux/tracepoint.h:244:28: note: in expansion of macro ‘PARAMS’
  244 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
      |                            ^~~~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:375:24: note: in expansion of macro ‘PARAMS’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |                        ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:247:38: note: in definition of macro ‘__DECLARE_TRACE’
  247 |  register_trace_##name(void (*probe)(data_proto), void *data) \
      |                                      ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:247:51: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  247 |  register_trace_##name(void (*probe)(data_proto), void *data) \
      |                                                   ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:253:43: note: in definition of macro ‘__DECLARE_TRACE’
  253 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
      |                                           ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:253:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  253 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
      |                                                        ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:260:40: note: in definition of macro ‘__DECLARE_TRACE’
  260 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
      |                                        ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
./include/linux/tracepoint.h:260:53: error: expected ‘;’, ‘,’ or ‘)’ before ‘void’
  260 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
      |                                                     ^~~~
./include/linux/tracepoint.h:375:2: note: in expansion of macro ‘__DECLARE_TRACE’
  375 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/linux/tracepoint.h:266:46: note: in definition of macro ‘__DECLARE_TRACE’
  266 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
      |                                              ^~~~~~~~~~
./include/linux/tracepoint.h:377:4: note: in expansion of macro ‘PARAMS’
  377 |    PARAMS(void *__data, proto),   \
      |    ^~~~~~
./include/linux/tracepoint.h:511:2: note: in expansion of macro ‘DECLARE_TRACE’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/linux/tracepoint.h:511:22: note: in expansion of macro ‘PARAMS’
  511 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |                      ^~~~~~
drivers/android/binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/binder_latency_tracer.c: In function ‘probe_binder_txn_latency_free’:
drivers/android/binder_latency_tracer.c:43:2: error: implicit declaration of function ‘rtc_time_to_tm’; did you mean ‘rtc_ktime_to_tm’? [-Werror=implicit-function-declaration]
   43 |  rtc_time_to_tm(t->tv.tv_sec, &tm);
      |  ^~~~~~~~~~~~~~
      |  rtc_ktime_to_tm
make[2]: *** [scripts/Makefile.build:283: drivers/android/binder_alloc.o] Error 1
drivers/android/binder_latency_tracer.c: In function ‘init_binder_latency_tracer’:
drivers/android/binder_latency_tracer.c:89:2: error: implicit declaration of function ‘register_trace_binder_txn_latency_free’; did you mean ‘register_trace_binder_txn_latency_info’? [-Werror=implicit-function-declaration]
   89 |  register_trace_binder_txn_latency_free(
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |  register_trace_binder_txn_latency_info
drivers/android/binder_latency_tracer.c: In function ‘exit_binder_latency_tracer’:
drivers/android/binder_latency_tracer.c:101:2: error: implicit declaration of function ‘unregister_trace_binder_txn_latency_free’; did you mean ‘unregister_trace_binder_txn_latency_info’? [-Werror=implicit-function-declaration]
  101 |  unregister_trace_binder_txn_latency_free(
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |  unregister_trace_binder_txn_latency_info
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:283: drivers/android/binder_latency_tracer.o] Error 1
drivers/android/binder.c: In function ‘binder_txn_latency_free’:
drivers/android/binder.c:1522:2: error: implicit declaration of function ‘trace_binder_txn_latency_free’; did you mean ‘trace_binder_txn_latency_info’? [-Werror=implicit-function-declaration]
 1522 |  trace_binder_txn_latency_free(t, from_proc, from_thread, to_proc, to_thread);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |  trace_binder_txn_latency_info
In file included from ./include/trace/define_trace.h:102,
                 from drivers/android/binder_trace.h:448,
                 from drivers/android/binder.c:5822:
drivers/android/./binder_trace.h: At top level:
drivers/android/./binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/trace/trace_events.h:510:58: note: in definition of macro ‘DECLARE_EVENT_CLASS’
  510 |  struct trace_event_data_offsets_##call *__data_offsets, proto) \
      |                                                          ^~~~~
./include/trace/trace_events.h:76:9: note: in expansion of macro ‘PARAMS’
   76 |         PARAMS(proto),         \
      |         ^~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/./binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
In file included from ./include/trace/define_trace.h:102,
                 from drivers/android/binder_trace.h:448,
                 from drivers/android/binder.c:5822:
drivers/android/./binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/trace/trace_events.h:674:44: note: in definition of macro ‘DECLARE_EVENT_CLASS’
  674 | trace_event_raw_event_##call(void *__data, proto)   \
      |                                            ^~~~~
./include/trace/trace_events.h:76:9: note: in expansion of macro ‘PARAMS’
   76 |         PARAMS(proto),         \
      |         ^~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/./binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
drivers/android/./binder_trace.h: In function ‘ftrace_test_probe_binder_txn_latency_free’:
./include/trace/trace_events.h:709:2: error: implicit declaration of function ‘check_trace_callback_type_binder_txn_latency_free’; did you mean ‘check_trace_callback_type_binder_txn_latency_info’? [-Werror=implicit-function-declaration]
  709 |  check_trace_callback_type_##call(trace_event_raw_event_##template); \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/trace/trace_events.h:81:2: note: in expansion of macro ‘DEFINE_EVENT’
   81 |  DEFINE_EVENT(name, name, PARAMS(proto), PARAMS(args));
      |  ^~~~~~~~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
./include/trace/trace_events.h:709:35: error: ‘trace_event_raw_event_binder_txn_latency_free’ undeclared (first use in this function); did you mean ‘trace_event_raw_binder_txn_latency_free’?
  709 |  check_trace_callback_type_##call(trace_event_raw_event_##template); \
      |                                   ^~~~~~~~~~~~~~~~~~~~~~
./include/trace/trace_events.h:81:2: note: in expansion of macro ‘DEFINE_EVENT’
   81 |  DEFINE_EVENT(name, name, PARAMS(proto), PARAMS(args));
      |  ^~~~~~~~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/./binder_trace.h: At top level:
drivers/android/./binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/trace/trace_events.h:618:34: note: in definition of macro ‘_TRACE_PERF_PROTO’
  618 |  perf_trace_##call(void *__data, proto);
      |                                  ^~~~~
./include/trace/trace_events.h:733:25: note: in expansion of macro ‘PARAMS’
  733 | _TRACE_PERF_PROTO(call, PARAMS(proto));     \
      |                         ^~~~~~
./include/trace/trace_events.h:75:2: note: in expansion of macro ‘DECLARE_EVENT_CLASS’
   75 |  DECLARE_EVENT_CLASS(name,          \
      |  ^~~~~~~~~~~~~~~~~~~
./include/trace/trace_events.h:76:9: note: in expansion of macro ‘PARAMS’
   76 |         PARAMS(proto),         \
      |         ^~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/./binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
In file included from ./include/trace/define_trace.h:102,
                 from drivers/android/binder_trace.h:448,
                 from drivers/android/binder.c:5822:
./include/trace/trace_events.h:740:13: error: ‘trace_event_raw_event_binder_txn_latency_free’ undeclared here (not in a function); did you mean ‘trace_event_raw_binder_txn_latency_free’?
  740 |  .probe   = trace_event_raw_event_##call,  \
      |             ^~~~~~~~~~~~~~~~~~~~~~
./include/trace/trace_events.h:75:2: note: in expansion of macro ‘DECLARE_EVENT_CLASS’
   75 |  DECLARE_EVENT_CLASS(name,          \
      |  ^~~~~~~~~~~~~~~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
In file included from ./include/trace/define_trace.h:102,
                 from drivers/android/binder_trace.h:448,
                 from drivers/android/binder.c:5822:
./include/trace/trace_events.h:621:17: error: ‘perf_trace_binder_txn_latency_free’ undeclared here (not in a function); did you mean ‘print_fmt_binder_txn_latency_free’?
  621 |  .perf_probe  = perf_trace_##call,
      |                 ^~~~~~~~~~~
./include/trace/trace_events.h:742:2: note: in expansion of macro ‘_TRACE_PERF_INIT’
  742 |  _TRACE_PERF_INIT(call)      \
      |  ^~~~~~~~~~~~~~~~
./include/trace/trace_events.h:75:2: note: in expansion of macro ‘DECLARE_EVENT_CLASS’
   75 |  DECLARE_EVENT_CLASS(name,          \
      |  ^~~~~~~~~~~~~~~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
In file included from ./include/trace/define_trace.h:103,
                 from drivers/android/binder_trace.h:448,
                 from drivers/android/binder.c:5822:
drivers/android/./binder_trace.h:111:4: error: expected ‘;’, ‘,’ or ‘)’ before ‘int’
  111 |    int from_proc, int from_thread
      |    ^~~
./include/trace/perf.h:33:33: note: in definition of macro ‘DECLARE_EVENT_CLASS’
   33 | perf_trace_##call(void *__data, proto)     \
      |                                 ^~~~~
./include/trace/trace_events.h:76:9: note: in expansion of macro ‘PARAMS’
   76 |         PARAMS(proto),         \
      |         ^~~~~~
drivers/android/./binder_trace.h:109:1: note: in expansion of macro ‘TRACE_EVENT’
  109 | TRACE_EVENT(binder_txn_latency_free,
      | ^~~~~~~~~~~
drivers/android/./binder_trace.h:110:2: note: in expansion of macro ‘TP_PROTO’
  110 |  TP_PROTO(struct binder_transaction *t
      |  ^~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:283: drivers/android/binder.o] Error 1
make[1]: *** [scripts/Makefile.build:500: drivers/android] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1788: drivers] Error 2




More information about the Linux-mediatek mailing list