remarkable-linux/fs/xfs
David Chinner d234154125 [XFS] Use power-of-2 sized buffers to reduce overhead
Now that the ktrace_enter() code is using atomics, the non-power-of-2
buffer sizes - which require modulus operations to get the index - are
showing up as using substantial CPU in the profiles.

Force the buffer sizes to be rounded up to the nearest power of two and
use masking rather than modulus operations to convert the index counter to
the buffer index. This reduces ktrace_enter overhead to 8% of a CPU time,
and again almost halves the trace intensive test runtime.

SGI-PV: 977546
SGI-Modid: xfs-linux-melb:xfs-kern:30538a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
2008-04-18 11:40:04 +10:00
..
linux-2.6 [XFS] don't encode parent in nfs filehandles unless nessecary 2008-04-18 11:39:35 +10:00
quota [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
support [XFS] Use power-of-2 sized buffers to reduce overhead 2008-04-18 11:40:04 +10:00
Kconfig
Makefile [XFS] Added quota targets and removed dmapi directory 2008-02-18 13:06:17 +11:00
xfs.h
xfs_acl.c [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_acl.h [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_ag.h
xfs_alloc.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_alloc.h
xfs_alloc_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_alloc_btree.h
xfs_arch.h xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_attr.c
xfs_attr.h
xfs_attr_leaf.c [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_attr_leaf.h
xfs_attr_sf.h
xfs_bit.c [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac 2008-02-26 17:05:44 +11:00
xfs_bit.h [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac 2008-02-26 17:05:44 +11:00
xfs_bmap.c [XFS] actually check error returned by xfs_flush_pages, clean up and 2008-04-18 11:34:47 +10:00
xfs_bmap.h
xfs_bmap_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_bmap_btree.h [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_btree.c
xfs_btree.h
xfs_buf_item.c
xfs_buf_item.h
xfs_clnt.h [XFS] If you mount an XFS filesystem with no mount options at all, then 2008-02-28 20:37:56 -08:00
xfs_da_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_da_btree.h
xfs_dfrag.c [XFS] stop re-checking permissions in xfs_swapext 2008-02-07 18:22:24 +11:00
xfs_dfrag.h
xfs_dinode.h
xfs_dir2.c [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_dir2.h
xfs_dir2_block.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_block.h
xfs_dir2_data.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_data.h
xfs_dir2_leaf.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_leaf.h
xfs_dir2_node.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_dir2_node.h
xfs_dir2_sf.c
xfs_dir2_sf.h
xfs_dir2_trace.c
xfs_dir2_trace.h
xfs_dmapi.h
xfs_dmops.c
xfs_error.c
xfs_error.h
xfs_extfree_item.c
xfs_extfree_item.h
xfs_filestream.c
xfs_filestream.h
xfs_fs.h
xfs_fsops.c [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_fsops.h
xfs_ialloc.c [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_ialloc.h
xfs_ialloc_btree.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_ialloc_btree.h
xfs_iget.c [XFS] Remove the xfs_icluster structure 2008-04-18 11:37:41 +10:00
xfs_imap.h
xfs_inode.c [XFS] Use xfs_inode_clean() in more places 2008-04-18 11:37:51 +10:00
xfs_inode.h [XFS] Remove the xfs_icluster structure 2008-04-18 11:37:41 +10:00
xfs_inode_item.c [XFS] remove shouting-indirection macros from xfs_sb.h 2008-04-10 16:24:45 +10:00
xfs_inode_item.h [XFS] Use xfs_inode_clean() in more places 2008-04-18 11:37:51 +10:00
xfs_inum.h
xfs_iomap.c
xfs_iomap.h
xfs_itable.c [XFS] Don't block pdflush when writing back inodes 2008-04-18 11:37:32 +10:00
xfs_itable.h
xfs_log.c [XFS] Use atomics for iclog reference counting 2008-04-18 11:38:10 +10:00
xfs_log.h
xfs_log_priv.h [XFS] Use atomics for iclog reference counting 2008-04-18 11:38:10 +10:00
xfs_log_recover.c [XFS] Don't block pdflush when writing back inodes 2008-04-18 11:37:32 +10:00
xfs_log_recover.h
xfs_mount.c [XFS] Ensure "both" features2 slots are consistent 2008-04-10 16:25:26 +10:00
xfs_mount.h [XFS] kill xfs_rwlock/xfs_rwunlock 2008-04-18 11:39:25 +10:00
xfs_mru_cache.c
xfs_mru_cache.h
xfs_qmops.c
xfs_quota.h
xfs_refcache.h
xfs_rename.c [XFS] kill xfs_get_dir_entry 2008-04-18 11:39:14 +10:00
xfs_rtalloc.c [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac 2008-02-26 17:05:44 +11:00
xfs_rtalloc.h
xfs_rw.c
xfs_rw.h
xfs_sb.h [XFS] Ensure "both" features2 slots are consistent 2008-04-10 16:25:26 +10:00
xfs_trans.c xfs: convert beX_add to beX_add_cpu (new common API) 2008-02-13 16:21:19 -08:00
xfs_trans.h [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_trans_ail.c [XFS] 977545 977545 977545 977545 977545 977545 xfsaild causing too many 2008-03-06 16:38:17 +11:00
xfs_trans_buf.c [XFS] Don't block pdflush when writing back inodes 2008-04-18 11:37:32 +10:00
xfs_trans_extfree.c
xfs_trans_inode.c
xfs_trans_item.c
xfs_trans_priv.h [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_trans_space.h
xfs_types.h
xfs_utils.c [XFS] kill xfs_get_dir_entry 2008-04-18 11:39:14 +10:00
xfs_utils.h [XFS] kill xfs_get_dir_entry 2008-04-18 11:39:14 +10:00
xfs_vfsops.c [XFS] Remove the xfs_icluster structure 2008-04-18 11:37:41 +10:00
xfs_vfsops.h [XFS] kill xfs_root 2008-02-07 18:24:00 +11:00
xfs_vnodeops.c [XFS] Update c/mtime correctly on truncates 2008-04-18 11:39:45 +10:00
xfs_vnodeops.h [XFS] kill xfs_rwlock/xfs_rwunlock 2008-04-18 11:39:25 +10:00