git: kernel - Implement segment pmap optimizations for x86-64 (5)

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Sep 13 13:57:24 PDT 2012


commit 01d2a79fb4fdd59ceeab82241e2cf0c121766201
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Sep 13 13:47:03 2012 -0700

    kernel - Implement segment pmap optimizations for x86-64 (5)
    
    * Fix self-deadlock in pmap_remove_*() sequence.  The sequence calls
      pmap_remove_callback() -> pmap_release_pv(proc_pt_pv) but the caller
      may already be holding the parent, proc_pd_pv, locked.  If
      pmap_release_pv() needs to get the parent it deadlocks.
    
      Fixed by passing the parent into pmap_release_pv() for this case.

Summary of changes:
 sys/platform/pc64/x86_64/pmap.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/01d2a79fb4fdd59ceeab82241e2cf0c121766201


-- 
DragonFly BSD source repository


More information about the Commits mailing list