git: kernel - Fix pageout / sbusy race

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Apr 7 18:10:16 PDT 2018


commit 793bf44fb8ccf3087cd7a1f304257b8b560d3dc6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Apr 7 18:03:23 2018 -0700

    kernel - Fix pageout / sbusy race
    
    * For now, vm_page_sbusy_try() cannot safely increment m->busy_count,
      and then decrement it if it turns out to be busy.  This interferes
      with any other thread that is holding the page hard-busy and expects
      the soft-busy mask to remain 0.
    
    * Eventually we should be able to rework the fetchadd optimization back
      in.  Use atomic_cmpset_*() for now though.

Summary of changes:
 sys/vm/vm_page.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/793bf44fb8ccf3087cd7a1f304257b8b560d3dc6


-- 
DragonFly BSD source repository



More information about the Commits mailing list