git: HAMMER VFS - Remove B-Tree allocation hints, add double_buf

看板DFBSD_commit作者時間15年前 (2011/01/12 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit b4f86ea3cc005dec41539fde163eeb5606e81cb8 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Jan 11 19:43:23 2011 -0800 HAMMER VFS - Remove B-Tree allocation hints, add double_buffer option. * Remove the allocation hints when allocating b-tree nodes and remove over-full test in the blockmap allocator for b-tree and meta-data elements. The hinting and leaving some space unused in the big-blocks did not improve performance. Write performance is actually slightly better when new allocations are made linearly. * Either way we have to depend on the reblocker to reorganize the B-Tree. * Add a sysctl vfs.hammer.double_buffer, defaulting to off. This is currently used for debugging and testing live-dedup. Normally only small-data blocks are run through the device vnode's buffer cache (allowing us to consolidate many small data blocks within the device vnode's buffer cache), and large data blocks are read directly into the file vnode's buffer. Turning on double_buffer cases ALL file data to run through the device vnode's buffer cache, resulting in double data caching which is not normally useful, so leave this off for now. It will not improve performance. Summary of changes: sys/vfs/hammer/hammer.h | 1 + sys/vfs/hammer/hammer_blockmap.c | 2 ++ sys/vfs/hammer/hammer_btree.c | 10 ++++------ sys/vfs/hammer/hammer_reblock.c | 2 +- sys/vfs/hammer/hammer_vfsops.c | 3 +++ sys/vfs/hammer/hammer_vnops.c | 20 +++++++++++++++----- 6 files changed, 26 insertions(+), 12 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b4f86ea3cc005dec41539fde163eeb5606e81cb8 -- DragonFly BSD source repository
文章代碼(AID): #1DBIU2yP (DFBSD_commit)