DragonFly BSD
DragonFly commits List (threaded) for 2013-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Fix shared/excl livelock with vm.shared_fault


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 25 Feb 2013 19:35:52 -0800 (PST)

commit 34a048ab5deacc3a1f37451bad89666fe37cd70d
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Mon Feb 25 19:27:05 2013 -0800

    kernel - Fix shared/excl livelock with vm.shared_fault
    
    * The vop_helper_read_shortcut() code was holding a shared token on
      a VM object through a uiomove().  If the uiomove() generated a VM
      fault requiring a shadow copy, the shadow copy would try to get
      an exclusive token on potentially the same object and livelock.
    
    * Fix by unlocking/relocking across the uiomove().

Summary of changes:
 sys/kern/vfs_helper.c | 9 +++++++++
 1 file changed, 9 insertions(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/34a048ab5deacc3a1f37451bad89666fe37cd70d


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]