DragonFly commits List (threaded) for 2008-04
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/kern kern_umtx.c src/sys/vm vm_fault.c vm_page.c vm_page.h vm_page2.h
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@dir.bg>,
"Simon 'corecode' Schubert" <corecode@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
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]