]> Pileus Git - ~andy/linux/commit
xfs: add trace points for log forces
authorDave Chinner <dchinner@redhat.com>
Tue, 24 Apr 2012 06:33:31 +0000 (16:33 +1000)
committerBen Myers <bpm@sgi.com>
Mon, 21 May 2012 15:45:44 +0000 (10:45 -0500)
commit14c26c6a05de138a4fd9a0c05ff8e7435a618324
treec916866e4e9ac21d5f3400edf3eb8186ea7740af
parent3ba316037470bbf98c8a16c2179c02794fb8862e
xfs: add trace points for log forces

To enable easy tracing of the location of log forces and the
frequency of them via perf, add a pair of trace points to the log
force functions.  This will help debug where excessive log forces
are being issued from by simple perf commands like:

# ~/perf/perf top -e xfs:xfs_log_force -G -U

Which gives this sort of output:

Events: 141  xfs:xfs_log_force
-  100.00%  [kernel]  [k] xfs_log_force
   - xfs_log_force
        87.04% xfsaild
           kthread
           kernel_thread_helper
      - 12.87% xfs_buf_lock
           _xfs_buf_find
           xfs_buf_get
           xfs_trans_get_buf
           xfs_da_do_buf
           xfs_da_get_buf
           xfs_dir2_data_init
           xfs_dir2_leaf_addname
           xfs_dir_createname
           xfs_create
           xfs_vn_mknod
           xfs_vn_create
           vfs_create
           do_last.isra.41
           path_openat
           do_filp_open
           do_sys_open
           sys_open
           system_call_fastpath

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sig.com>
fs/xfs/xfs_log.c
fs/xfs/xfs_trace.h