git: kernel - Fix deep recursion in vm_object_collapse()

看板DFBSD_commit作者時間14年前 (2011/10/27 10:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit e806bedd2cb34ee45da81741e5a42c9263fca225 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Wed Oct 26 18:56:39 2011 -0700 kernel - Fix deep recursion in vm_object_collapse() * vm_object_collapse() will loop but its backing_object sometimes needs to be deallocated as well and this can trigger another collapse against a different parent object. * Introduce vm_object_dealloc_list and friends to collect a list of objects requiring deallocation so the caller can run the list in a way that avoids a deep recursion. Reported-by: juanfra Summary of changes: sys/vm/vm_map.c | 4 +- sys/vm/vm_object.c | 132 ++++++++++++++++++++++++++++++++++++++++++++-------- sys/vm/vm_object.h | 11 ++++- 3 files changed, 124 insertions(+), 23 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e806bedd2cb34ee45da81741e5a42c9263fca225 -- DragonFly BSD source repository
文章代碼(AID): #1EgBjYra (DFBSD_commit)