git: kernel - Fix races created by a comedy of circumstansces (3)

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jan 30 09:50:54 PST 2017


commit e989b548a6dd474e7809e205bab50d123198cf57
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Jan 30 09:45:58 2017 -0800

    kernel - Fix races created by a comedy of circumstansces (3)
    
    * Change pv semantics such that pv->pv_m must always exist while a pv is
      installed in the pmap's RBTREE.
    
    * Change pv_put() to assert that pv->pv_m exists.  Use an unlock/drop
      sequence for those cases where it might not exist.
    
    * Fix an incorrect assertion.
    
    * Move a pv_put() outside of the pmap spinlock that was incorrectly inside.
    
    * Reorder how PG_MANGED_IDX / PG_UNMANAGED tests work.

Summary of changes:
 sys/platform/pc64/include/pmap.h |   2 +
 sys/platform/pc64/x86_64/pmap.c  | 364 ++++++++++++++++++++++++---------------
 2 files changed, 230 insertions(+), 136 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e989b548a6dd474e7809e205bab50d123198cf57


-- 
DragonFly BSD source repository



More information about the Commits mailing list