git: DragonFly_RELEASE_4_8 kernel - Fix panic in zget() during heavy paging

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Mar 23 09:16:58 PDT 2017


commit 9d8f4371257932a265ab01e0318767a7c71c90e4
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/9d8f4371257932a265ab01e0318767a7c71c90e4


-- 
DragonFly BSD source repository


More information about the Commits mailing list