alistair23-linux/fs/xfs
Dave Chinner 14c26c6a05 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>
2012-05-21 10:45:44 -05:00
..
Kconfig
kmem.c
kmem.h xfs: use a normal shrinker for the dquot freelist 2012-02-10 12:38:09 -06:00
Makefile xfs: move xfs_do_force_shutdown() and kill xfs_rw.c 2012-05-14 16:20:59 -05:00
mrlock.h
time.h
uuid.c
uuid.h
xfs.h
xfs_acl.c
xfs_acl.h
xfs_ag.h xfs: move busy extent handling to it's own file 2012-05-14 16:20:55 -05:00
xfs_alloc.c xfs: make xfs_extent_busy_trim not static 2012-05-14 16:21:04 -05:00
xfs_alloc.h xfs: move busy extent handling to it's own file 2012-05-14 16:20:55 -05:00
xfs_alloc_btree.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_alloc_btree.h
xfs_aops.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_aops.h xfs: log file size updates at I/O completion time 2012-03-13 16:30:49 -05:00
xfs_attr.c xfs: move xfs_get_extsz_hint() and kill xfs_rw.h 2012-05-14 16:20:58 -05:00
xfs_attr.h
xfs_attr_leaf.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_attr_leaf.h
xfs_attr_sf.h
xfs_bit.c
xfs_bit.h
xfs_bmap.c xfs: fix delalloc quota accounting on failure 2012-05-21 10:45:43 -05:00
xfs_bmap.h xfs: move xfs_fsb_to_db to xfs_bmap.h 2012-05-14 16:20:57 -05:00
xfs_bmap_btree.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_bmap_btree.h
xfs_btree.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_btree.h
xfs_buf.c xfs: make XBF_MAPPED the default behaviour 2012-05-14 16:21:03 -05:00
xfs_buf.h xfs: make XBF_MAPPED the default behaviour 2012-05-14 16:21:03 -05:00
xfs_buf_item.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_buf_item.h
xfs_da_btree.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_da_btree.h
xfs_dfrag.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_dfrag.h
xfs_dinode.h
xfs_dir2.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_dir2.h
xfs_dir2_block.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_dir2_data.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_dir2_format.h
xfs_dir2_leaf.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_dir2_node.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_dir2_priv.h
xfs_dir2_sf.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_discard.c xfs: clean up busy extent naming 2012-05-14 16:20:56 -05:00
xfs_discard.h
xfs_dquot.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_dquot.h xfs: on-stack delayed write buffer lists 2012-05-14 16:20:31 -05:00
xfs_dquot_item.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_dquot_item.h
xfs_error.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_error.h
xfs_export.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_export.h
xfs_extent_busy.c xfs: make xfs_extent_busy_trim not static 2012-05-14 16:21:04 -05:00
xfs_extent_busy.h xfs: make xfs_extent_busy_trim not static 2012-05-14 16:21:04 -05:00
xfs_extfree_item.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_extfree_item.h
xfs_file.c xfs: introduce SEEK_DATA/SEEK_HOLE support 2012-05-14 16:21:05 -05:00
xfs_filestream.c
xfs_filestream.h
xfs_fs.h
xfs_fs_subr.c xfs: remove the i_size field in struct xfs_inode 2012-01-17 15:08:53 -06:00
xfs_fsops.c xfs: make XBF_MAPPED the default behaviour 2012-05-14 16:21:03 -05:00
xfs_fsops.h
xfs_globals.c
xfs_ialloc.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_ialloc.h xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_ialloc_btree.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_ialloc_btree.h
xfs_iget.c xfs: fix memory reclaim deadlock on agi buffer 2012-05-21 10:45:44 -05:00
xfs_inode.c xfs: make XBF_MAPPED the default behaviour 2012-05-14 16:21:03 -05:00
xfs_inode.h xfs: move xfs_get_extsz_hint() and kill xfs_rw.h 2012-05-14 16:20:58 -05:00
xfs_inode_item.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_inode_item.h xfs: pass shutdown method into xfs_trans_ail_delete_bulk 2012-05-14 16:20:33 -05:00
xfs_inum.h xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_ioctl.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_ioctl.h
xfs_ioctl32.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_ioctl32.h
xfs_iomap.c xfs: fix delalloc quota accounting on failure 2012-05-21 10:45:43 -05:00
xfs_iomap.h
xfs_iops.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_iops.h
xfs_itable.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_itable.h
xfs_linux.h
xfs_log.c xfs: add trace points for log forces 2012-05-21 10:45:44 -05:00
xfs_log.h xfs: allow assigning the tail lsn with the AIL lock held 2012-05-14 16:20:26 -05:00
xfs_log_cil.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_log_priv.h xfs: Do background CIL flushes via a workqueue 2012-05-14 16:20:34 -05:00
xfs_log_recover.c xfs: make XBF_MAPPED the default behaviour 2012-05-14 16:21:03 -05:00
xfs_log_recover.h
xfs_message.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_message.h
xfs_mount.c xfs: flush outstanding buffers on log mount failure 2012-05-14 16:21:02 -05:00
xfs_mount.h xfs: Do background CIL flushes via a workqueue 2012-05-14 16:20:34 -05:00
xfs_mru_cache.c
xfs_mru_cache.h
xfs_qm.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_qm.h xfs: remove the global xfs_Gqm structure 2012-03-14 12:06:32 -05:00
xfs_qm_bhv.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_qm_syscalls.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_quota.h Define new macro XFS_ALL_QUOTA_ACTIVE and simply some usage 2012-02-03 11:32:20 -06:00
xfs_quota_priv.h xfs: use per-filesystem radix trees for dquot lookup 2012-03-14 11:09:06 -05:00
xfs_quotaops.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_rename.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_rtalloc.c xfs: move xfs_get_extsz_hint() and kill xfs_rw.h 2012-05-14 16:20:58 -05:00
xfs_rtalloc.h
xfs_sb.h xfs: kill the unused XFS_BB_FSB_OFFSET macro 2012-02-02 17:08:04 -06:00
xfs_stats.c xfs: use common code for quota statistics 2012-03-14 11:09:06 -05:00
xfs_stats.h xfs: use common code for quota statistics 2012-03-14 11:09:06 -05:00
xfs_super.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_super.h xfs: remove the global xfs_Gqm structure 2012-03-14 12:06:32 -05:00
xfs_sync.c xfs: protect xfs_sync_worker with s_umount semaphore 2012-05-15 14:35:43 -05:00
xfs_sync.h xfs: log timestamp updates 2012-03-13 17:01:15 -05:00
xfs_sysctl.c
xfs_sysctl.h
xfs_trace.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_trace.h xfs: add trace points for log forces 2012-05-21 10:45:44 -05:00
xfs_trans.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_trans.h xfs: on-stack delayed write buffer lists 2012-05-14 16:20:31 -05:00
xfs_trans_ail.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_trans_buf.c xfs: make XBF_MAPPED the default behaviour 2012-05-14 16:21:03 -05:00
xfs_trans_dquot.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_trans_extfree.c xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_trans_inode.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_trans_priv.h xfs: pass shutdown method into xfs_trans_ail_delete_bulk 2012-05-14 16:20:33 -05:00
xfs_trans_space.h
xfs_types.h xfs: move xfsagino_t to xfs_types.h 2012-05-14 16:20:54 -05:00
xfs_utils.c xfs: clean up xfs_bit.h includes 2012-05-14 16:21:00 -05:00
xfs_utils.h
xfs_vnode.h xfs: remove remaining scraps of struct xfs_iomap 2012-03-15 13:40:16 -05:00
xfs_vnodeops.c xfs: fix delalloc quota accounting on failure 2012-05-21 10:45:43 -05:00
xfs_vnodeops.h xfs: remove remaining scraps of struct xfs_iomap 2012-03-15 13:40:16 -05:00
xfs_xattr.c