diff mbox series

[04/11] NFS: Add tracepoints for functions involving nfs_readdir_descriptor_t

Message ID 1604325011-29427-5-git-send-email-dwysocha@redhat.com (mailing list archive)
State New
Headers show
Series Add NFS readdir tracepoints and improve performance of reading directories | expand

Commit Message

David Wysochanski Nov. 2, 2020, 1:50 p.m. UTC
Add more tracepoints in the NFS readdir code to trace functions
which change members of nfs_readdir_descriptor_t.  In the process,
remove two more dfprintks inside uncached_readdir().

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
---
 fs/nfs/dir.c      |  10 +++---
 fs/nfs/nfstrace.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+), 4 deletions(-)

Comments

kernel test robot Nov. 2, 2020, 5:32 p.m. UTC | #1
Hi Dave,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on nfs/linux-next]
[also build test ERROR on v5.10-rc2 next-20201102]
[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/Dave-Wysochanski/Add-NFS-readdir-tracepoints-and-improve-performance-of-reading-directories/20201102-215316
base:   git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
config: arm-randconfig-r036-20201102 (attached as .config)
compiler: arm-linux-gnueabi-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/a9947d23a4cc07f24cdb02954b19e650d7bf7a85
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dave-Wysochanski/Add-NFS-readdir-tracepoints-and-improve-performance-of-reading-directories/20201102-215316
        git checkout a9947d23a4cc07f24cdb02954b19e650d7bf7a85
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm 

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

All errors (new ones prefixed by >>):

   In file included from fs/nfs/nfstrace.h:11,
                    from fs/nfs/nfs2xdr.c:25:
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE'
     235 |  extern int __traceiter_##name(data_proto);   \
         |                                ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE'
     238 |  static inline void trace_##name(proto)    \
         |                                  ^~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     210 |  static inline void trace_##name##_rcuidle(proto)  \
         |                                            ^~~~~
   include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS'
     251 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
         |                            ^~~~~~
   include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |  ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE'
     254 |  register_trace_##name(void (*probe)(data_proto), void *data) \
         |                                      ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE'
     260 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
         |                                           ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE'
     267 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
         |                                        ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE'
     273 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
         |                                              ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:850:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     850 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE'
     235 |  extern int __traceiter_##name(data_proto);   \
         |                                ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE'
     238 |  static inline void trace_##name(proto)    \
         |                                  ^~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     210 |  static inline void trace_##name##_rcuidle(proto)  \
         |                                            ^~~~~
   include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS'
     251 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
         |                            ^~~~~~
   include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |  ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE'
     254 |  register_trace_##name(void (*probe)(data_proto), void *data) \
         |                                      ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE'
     260 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
         |                                           ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE'
     267 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
         |                                        ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE'
     273 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
         |                                              ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:851:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     851 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE'
     235 |  extern int __traceiter_##name(data_proto);   \
         |                                ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE'
     238 |  static inline void trace_##name(proto)    \
         |                                  ^~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     210 |  static inline void trace_##name##_rcuidle(proto)  \
         |                                            ^~~~~
   include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS'
     251 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
         |                            ^~~~~~
   include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |  ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE'
     254 |  register_trace_##name(void (*probe)(data_proto), void *data) \
         |                                      ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE'
     260 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
         |                                           ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE'
     267 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
         |                                        ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE'
     273 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
         |                                              ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:852:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     852 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE'
     235 |  extern int __traceiter_##name(data_proto);   \
         |                                ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE'
     238 |  static inline void trace_##name(proto)    \
         |                                  ^~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     210 |  static inline void trace_##name##_rcuidle(proto)  \
         |                                            ^~~~~
   include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS'
     251 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
         |                            ^~~~~~
   include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |  ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE'
     254 |  register_trace_##name(void (*probe)(data_proto), void *data) \
         |                                      ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE'
     260 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
         |                                           ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE'
     267 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
         |                                        ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE'
     273 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
         |                                              ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:853:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     853 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE'
     235 |  extern int __traceiter_##name(data_proto);   \
         |                                ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE'
     238 |  static inline void trace_##name(proto)    \
         |                                  ^~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     210 |  static inline void trace_##name##_rcuidle(proto)  \
         |                                            ^~~~~
   include/linux/tracepoint.h:251:28: note: in expansion of macro 'PARAMS'
     251 |  __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
         |                            ^~~~~~
   include/linux/tracepoint.h:411:2: note: in expansion of macro '__DECLARE_TRACE'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |  ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:254:38: note: in definition of macro '__DECLARE_TRACE'
     254 |  register_trace_##name(void (*probe)(data_proto), void *data) \
         |                                      ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:260:43: note: in definition of macro '__DECLARE_TRACE'
     260 |  register_trace_prio_##name(void (*probe)(data_proto), void *data,\
         |                                           ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:267:40: note: in definition of macro '__DECLARE_TRACE'
     267 |  unregister_trace_##name(void (*probe)(data_proto), void *data) \
         |                                        ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:796:11: error: unknown type name 'nfs_readdir_descriptor_t'
     796 |     const nfs_readdir_descriptor_t *desc \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:273:46: note: in definition of macro '__DECLARE_TRACE'
     273 |  check_trace_callback_type_##name(void (*cb)(data_proto)) \
         |                                              ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:794:2: note: in expansion of macro 'DEFINE_EVENT'
     794 |  DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:795:4: note: in expansion of macro 'TP_PROTO'
     795 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:854:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT'
     854 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:235:32: note: in definition of macro '__DECLARE_TRACE'
     235 |  extern int __traceiter_##name(data_proto);   \
         |                                ^~~~~~~~~~
   include/linux/tracepoint.h:413:4: note: in expansion of macro 'PARAMS'
     413 |    PARAMS(void *__data, proto),   \
         |    ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:855:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     855 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_array_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:238:34: note: in definition of macro '__DECLARE_TRACE'
     238 |  static inline void trace_##name(proto)    \
         |                                  ^~~~~
   include/linux/tracepoint.h:411:24: note: in expansion of macro 'PARAMS'
     411 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
         |                        ^~~~~~
   include/linux/tracepoint.h:536:2: note: in expansion of macro 'DECLARE_TRACE'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |  ^~~~~~~~~~~~~
   include/linux/tracepoint.h:536:22: note: in expansion of macro 'PARAMS'
     536 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
         |                      ^~~~~~
   fs/nfs/nfstrace.h:843:2: note: in expansion of macro 'DEFINE_EVENT'
     843 |  DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
         |  ^~~~~~~~~~~~
   fs/nfs/nfstrace.h:844:4: note: in expansion of macro 'TP_PROTO'
     844 |    TP_PROTO( \
         |    ^~~~~~~~
   fs/nfs/nfstrace.h:855:1: note: in expansion of macro 'DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT'
     855 | DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_array_exit);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/nfs/nfstrace.h:845:11: error: unknown type name 'nfs_readdir_descriptor_t'
     845 |     const nfs_readdir_descriptor_t *desc, \
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:210:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     210 |  static inline void trace_##name##_rcuidle(proto)  \

vim +/nfs_readdir_descriptor_t +796 fs/nfs/nfstrace.h

   792	
   793	#define DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(name) \
   794		DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
   795				TP_PROTO( \
 > 796					const nfs_readdir_descriptor_t *desc \
   797				), \
   798				TP_ARGS(desc))
   799	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff mbox series

Patch

diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 145393188f6a..227cddc12983 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -329,6 +329,7 @@  int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc)
 	struct nfs_cache_array *array;
 	int status;
 
+	trace_nfs_readdir_search_array_enter(desc);
 	array = kmap(desc->page);
 
 	if (*desc->dir_cookie == 0)
@@ -342,6 +343,7 @@  int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc)
 		desc->page_index++;
 	}
 	kunmap(desc->page);
+	trace_nfs_readdir_search_array_exit(desc, status);
 	return status;
 }
 
@@ -762,6 +764,7 @@  int readdir_search_pagecache(nfs_readdir_descriptor_t *desc)
 {
 	int res;
 
+	trace_nfs_readdir_search_pagecache_enter(desc);
 	if (desc->page_index == 0) {
 		desc->current_index = 0;
 		desc->prev_index = 0;
@@ -770,6 +773,7 @@  int readdir_search_pagecache(nfs_readdir_descriptor_t *desc)
 	do {
 		res = find_and_lock_cache_page(desc);
 	} while (res == -EAGAIN);
+	trace_nfs_readdir_search_pagecache_exit(desc, res);
 	return res;
 }
 
@@ -835,8 +839,7 @@  int uncached_readdir(nfs_readdir_descriptor_t *desc)
 	struct inode *inode = file_inode(desc->file);
 	struct nfs_open_dir_context *ctx = desc->file->private_data;
 
-	dfprintk(DIRCACHE, "NFS: uncached_readdir() searching for cookie %Lu\n",
-			(unsigned long long)*desc->dir_cookie);
+	trace_nfs_uncached_readdir_enter(desc);
 
 	page = alloc_page(GFP_HIGHUSER);
 	if (!page) {
@@ -859,8 +862,7 @@  int uncached_readdir(nfs_readdir_descriptor_t *desc)
 	nfs_readdir_clear_array(desc->page);
 	cache_page_release(desc);
  out:
-	dfprintk(DIRCACHE, "NFS: %s: returns %d\n",
-			__func__, status);
+	trace_nfs_uncached_readdir_exit(desc, status);
 	return status;
 }
 
diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h
index 6bbe0aa221f2..e6a946b83330 100644
--- a/fs/nfs/nfstrace.h
+++ b/fs/nfs/nfstrace.h
@@ -752,6 +752,108 @@ 
 		)
 );
 
+DECLARE_EVENT_CLASS(nfs_readdir_descriptor_event_enter,
+		TP_PROTO(
+				const nfs_readdir_descriptor_t *desc
+			),
+
+		TP_ARGS(desc),
+
+		TP_STRUCT__entry(
+			__field(dev_t, dev)
+			__field(u64, fileid)
+			__field(u32, fhandle)
+			__field(u64, dir_cookie)
+			__field(u64, page_index)
+			__field(u64, last_cookie)
+			__field(u64, current_index)
+			__field(u64, prev_index)
+		),
+
+		TP_fast_assign(
+			__entry->dev = file_inode(desc->file)->i_sb->s_dev;
+			__entry->fileid = NFS_FILEID(file_inode(desc->file));
+			__entry->fhandle = nfs_fhandle_hash(NFS_FH(file_inode(desc->file)));
+			__entry->dir_cookie = *desc->dir_cookie;
+			__entry->page_index = desc->page_index;
+			__entry->last_cookie = desc->last_cookie;
+			__entry->current_index = desc->current_index;
+			__entry->prev_index = desc->prev_index;
+		),
+
+		TP_printk(
+			"fileid=%02x:%02x:%llu fhandle=0x%08x dir_cookie=0x%08llx last_cookie=0x%08llx page_index=0x%08llx current_index=0x%08llu prev_index=0x%08llu",
+			MAJOR(__entry->dev), MINOR(__entry->dev),
+			(unsigned long long)__entry->fileid, __entry->fhandle,
+			__entry->dir_cookie, __entry->last_cookie, __entry->page_index,
+			__entry->current_index, __entry->prev_index
+		)
+);
+
+#define DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(name) \
+	DEFINE_EVENT(nfs_readdir_descriptor_event_enter, name, \
+			TP_PROTO( \
+				const nfs_readdir_descriptor_t *desc \
+			), \
+			TP_ARGS(desc))
+
+DECLARE_EVENT_CLASS(nfs_readdir_descriptor_event_exit,
+		TP_PROTO(
+				const nfs_readdir_descriptor_t *desc,
+				int error
+			),
+
+		TP_ARGS(desc, error),
+
+		TP_STRUCT__entry(
+			__field(dev_t, dev)
+			__field(u64, fileid)
+			__field(u32, fhandle)
+			__field(u64, dir_cookie)
+			__field(unsigned long, error)
+			__field(u64, page_index)
+			__field(u64, last_cookie)
+			__field(u64, current_index)
+			__field(u64, prev_index)
+		),
+
+		TP_fast_assign(
+			__entry->dev = file_inode(desc->file)->i_sb->s_dev;
+			__entry->fileid = NFS_FILEID(file_inode(desc->file));
+			__entry->fhandle = nfs_fhandle_hash(NFS_FH(file_inode(desc->file)));
+			__entry->dir_cookie = *desc->dir_cookie;
+			__entry->error = error;
+			__entry->page_index = desc->page_index;
+			__entry->last_cookie = desc->last_cookie;
+			__entry->current_index = desc->current_index;
+			__entry->prev_index = desc->prev_index;
+		),
+
+		TP_printk(
+			"error=%ld fileid=%02x:%02x:%llu fhandle=0x%08x dir_cookie=0x%08llx last_cookie=0x%08llx page_index=0x%08llx current_index=0x%08llu prev_index=0x%08llu",
+			__entry->error,
+			MAJOR(__entry->dev), MINOR(__entry->dev),
+			(unsigned long long)__entry->fileid, __entry->fhandle,
+			__entry->dir_cookie, __entry->last_cookie, __entry->page_index,
+			__entry->current_index, __entry->prev_index
+		)
+);
+
+#define DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(name) \
+	DEFINE_EVENT(nfs_readdir_descriptor_event_exit, name, \
+			TP_PROTO( \
+				const nfs_readdir_descriptor_t *desc, \
+				int error \
+			), \
+			TP_ARGS(desc, error))
+
+DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_uncached_readdir_enter);
+DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_uncached_readdir_exit);
+DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_pagecache_enter);
+DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_pagecache_exit);
+DEFINE_NFS_READDIR_DESCRIPTOR_EVENT(nfs_readdir_search_array_enter);
+DEFINE_NFS_READDIR_DESCRIPTOR_EVENT_EXIT(nfs_readdir_search_array_exit);
+
 TRACE_EVENT(nfs_link_enter,
 		TP_PROTO(
 			const struct inode *inode,