git: kernel - Improve VM fault performance for sequential access

看板DFBSD_commit作者時間16年前 (2010/01/15 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
commit 768970b4fd5a55ad14ac037ab9bf530686f44db8 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Thu Jan 14 19:40:14 2010 -0800 kernel - Improve VM fault performance for sequential access * VM fault I/O pipelining was not working properly. * Temporarily fix pipelining by introducing PG_RAM, A read-ahead mark for vm_page_t, and adjust vm_fault to pass VM pages through to getpages calls if PG_RAM is set, even if they are fully valid. * Remove code in vnode_pager_generic_getpages() which shortcutted the operation when the requested page was fully valid. This prevented read-aheads from being issued. * A more permanent solution is in the works (basically getting rid of the whole VM read-ahead/read-behind array entirely, just passing a single page through to vnode_pager_generic_getpages(), and letting the filesystem handle the read-ahead in a more efficient fashion. Reported-by: "Mikhail T." <mi+thun@aldan.algebra.com> Summary of changes: sys/kern/vfs_cluster.c | 19 ++++++++++++++----- sys/sys/vnode.h | 1 + sys/vm/vm_fault.c | 22 +++++++++++++++++----- sys/vm/vm_page.h | 1 + sys/vm/vnode_pager.c | 27 ++++++++++----------------- 5 files changed, 43 insertions(+), 27 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/768970b4fd5a55ad14ac037ab9bf530686f44db8 -- DragonFly BSD source repository
文章代碼(AID): #1BJ-Y4Ey (DFBSD_commit)
文章代碼(AID): #1BJ-Y4Ey (DFBSD_commit)