git: HAMMER VFS - Implement async I/O for double-buffer strategy

看板DFBSD_commit作者時間14年前 (2011/05/17 07:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 9a98f3cc99cb6d581eee77b15079c1fefd607e8f Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sun Apr 10 08:46:04 2011 -0700 HAMMER VFS - Implement async I/O for double-buffer strategy case * When vfs.hammer.double_buffer is enabled the HAMMER strategy code was running synchronously. This creates numerous problems including extra stalls when read-ahead is issued. * Use the new breadcb() function to allow nominal double_buffer strategy operations to run asynchronously. Essentially the original buffer and CRC is recorded in the device bio and the copyback is made in the callback. * This improves performance vfs.hammer.double_buffer is enabled. Summary of changes: sys/vfs/hammer/hammer.h | 2 + sys/vfs/hammer/hammer_io.c | 142 ++++++++++++++++++++++++++++++++++++++++ sys/vfs/hammer/hammer_ondisk.c | 3 + sys/vfs/hammer/hammer_vnops.c | 45 +++++++++++-- 4 files changed, 186 insertions(+), 6 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9a98f3cc99cb6d581eee77b15079c1fefd607e8f -- DragonFly BSD source repository
文章代碼(AID): #1DqRGGtS (DFBSD_commit)