git: DragonFly_RELEASE_4_6 kernel - Fix indefinite wait buffer during heavy swapping
dillon at crater.dragonflybsd.org
Sun Sep 11 18:12:11 PDT 2016
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Sep 5 12:33:42 2016 -0700
kernel - Fix indefinite wait buffer during heavy swapping
* Fix a deadlock which can occur between CAM and the VM system due to
a bug in uiomove_nofault() when called via vop_helper_read_shortcut().
If the backing store is swapped out, vm_fault()/vm_fault_object() attempts
to page the data in instead of telling uiomove_nofault() to give up.
This can result in a deadlock against the underlying vm_page's in the
file that might already be undergoing I/O.
* Probably also reported by other people over the years, but could never
track it down until now.
Summary of changes:
sys/vm/vm_fault.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
DragonFly BSD source repository
More information about the Commits