git: kernel - Fix deadlock in vm_page_repurpose()

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Nov 28 10:48:53 PST 2016


commit a6225b5b1ff1b3fe60b0e7ef98bc040a111d265f
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Nov 28 10:41:53 2016 -0800

    kernel - Fix deadlock in vm_page_repurpose()
    
    * vm_page_repurpose() was hard+soft busying the underlying VM page,
      which can deadlock against putpages or other I/O.
    
    * Only hard-busy the page, then add an SBUSY test to the failure case
      (we don't want to repurpose a page undergoing I/O after all!).

Summary of changes:
 sys/vm/vm_page.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

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


-- 
DragonFly BSD source repository



More information about the Commits mailing list