git: kernel - Fix rare vm_map_entry exhaustion panic

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Mar 16 11:28:49 PDT 2020


commit 67be04b614ee5ba26531d0b2991ad8298e06efb5
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Mar 16 11:24:52 2020 -0700

    kernel - Fix rare vm_map_entry exhaustion panic
    
    * Fix a rare situation where many processes blocked in zget() on
      the same CPU can cause the kernel's per-cpu vm_map_entry entry
      to be exhusted, causing a panic.
    
      The situation arises because the zget() operation can wake other
      threads up via the deeper vm_map lock after burning vm_map_entry's
      to expand the space but prior to adding the new structural objects
      to the vm_zone.
    
    * Caused a leaf.dragonflybsd.org panic on concurrent git fork/exec's
      via the web server.

Summary of changes:
 sys/vm/vm_zone.c | 41 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 37 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/67be04b614ee5ba26531d0b2991ad8298e06efb5


-- 
DragonFly BSD source repository



More information about the Commits mailing list