git: kernel - Fix panic in zget() during heavy paging
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Mar 22 19:08:55 PDT 2017
commit e16c650d787872d60f6ca3d20a7f1bc1e0c19261
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Mar 22 18:43:08 2017 -0700
kernel - Fix panic in zget() during heavy paging
* Fix a panic that can occur in zget() when a large number of swap info
blocks are needed from the swap_zone.
Fix by reformulation how new items are added to the zone. This is a
non-critical code path, but we make it a bit more SMP friendly anyway.
* Use the opportunity to get rid of the VM object ZONE_INTERRUPT uses.
The two that are left are never destroyed, so there's no need to track
the pages in an object.
Reported-by: tkusumi
Summary of changes:
sys/platform/pc64/x86_64/pmap.c | 3 +-
sys/platform/vkernel64/platform/pmap.c | 3 +-
sys/vm/vm_map.c | 4 +-
sys/vm/vm_zone.c | 145 ++++++++++++++++-----------------
sys/vm/vm_zone.h | 7 +-
5 files changed, 76 insertions(+), 86 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e16c650d787872d60f6ca3d20a7f1bc1e0c19261
--
DragonFly BSD source repository
More information about the Commits
mailing list