cvs commit: src/sys/kern kern_umtx.c src/sys/vm vm_fault.c vm_page.c vm_page.h vm_page2.h

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Apr 14 13:00:50 PDT 2008


dillon      2008/04/14 13:00:29 PDT

DragonFly src repository

  Modified files:
    sys/kern             kern_umtx.c 
    sys/vm               vm_fault.c vm_page.c vm_page.h vm_page2.h 
  Log:
  Fix a bug in umtx_sleep().  This function sleeps on the mutex's physical
  address and will get lost if the physical page underlying the VM address is
  copied on write.  This case can occur when a threaded program fork()'s.
  
  Introduce a VM page event notification mechanism and use it to wake-up
  the umtx_sleep() if the underlying page takes a COW fault.
  
  Reported-by: Jordan Gordeev <jgordeev at dir.bg>,
  	     "Simon 'corecode' Schubert" <corecode at xxxxxxxxxxxx>
  
  Revision  Changes    Path
  1.8       +52 -12    src/sys/kern/kern_umtx.c
  1.45      +2 -0      src/sys/vm/vm_fault.c
  1.37      +18 -0     src/sys/vm/vm_page.c
  1.27      +16 -2     src/sys/vm/vm_page.h
  1.3       +42 -0     src/sys/vm/vm_page2.h


http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_umtx.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_fault.c.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.h.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page2.h.diff?r1=1.2&r2=1.3&f=u





More information about the Commits mailing list