git: kernel - Fix pageout / sbusy race

Matthew Dillon dillon at
Sat Apr 7 18:10:16 PDT 2018

commit 793bf44fb8ccf3087cd7a1f304257b8b560d3dc6
Author: Matthew Dillon <dillon at>
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(+)

DragonFly BSD source repository

More information about the Commits mailing list