git: kernel - Fix deep recursion in vm_object_collapse()
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Oct 26 18:59:57 PDT 2011
commit e806bedd2cb34ee45da81741e5a42c9263fca225
Author: Matthew Dillon <dillon at 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
More information about the Commits
mailing list