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