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