DragonFly BSD
DragonFly commits List (threaded) for 2011-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Fix deep recursion in vm_object_collapse()


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 26 Oct 2011 18:58:11 -0700 (PDT)

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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]