git: kernel - Fix deadlock w/recent vm_map work

看板DFBSD_commit作者時間14年前 (2011/08/12 06:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 625a293762660fd6f8474c36683a1aeed85b71ba Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Thu Aug 11 14:38:09 2011 -0700 kernel - Fix deadlock w/recent vm_map work * Fix a deadlock where a vm_page is being held PG_BUSY throgh a vm_map relocking operation. This can deadlock against the attempt to busy a vm_page while holding a vm_map lock. * The solution is a bit of a hack. Currently allow the relock attempt to timeout and force a retry of the VM fault, which unlocks and relocks everything. This is not the best solution but the problem occurs fairly rarely so for now it should be an acceptable workaround. Reported-by: ftigeot, Studbolt Summary of changes: sys/vm/vm_fault.c | 22 +++++++++++++++++----- sys/vm/vm_map.c | 2 +- sys/vm/vm_map.h | 12 ++++++++++++ 3 files changed, 30 insertions(+), 6 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/625a293762660fd6f8474c36683a1aeed85b71ba -- DragonFly BSD source repository
文章代碼(AID): #1EH54XUh (DFBSD_commit)