]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r217561:
authorkib <kib@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 25 Jan 2011 10:14:12 +0000 (10:14 +0000)
committerkib <kib@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 25 Jan 2011 10:14:12 +0000 (10:14 +0000)
commit46dfbbe2e49d9d529bb9d8da435f824f709647f4
tree2177af150285500e81326c66537b9a9a0b679712
parent9b8c8cf81c3949078555c841cbc8798110b1c88d
MFC r217561:
For architectures not using direct map , and requiring real KVA page for
sf buf allocation, use wakeup() instead of wakeup_one() to notify sf
buffer waiters about free buffer.

sf_buf_alloc() calls msleep(PCATCH) when SFB_CATCH flag was given,
and for simultaneous wakeup and signal delivery, msleep() returns
EINTR/ERESTART despite the thread was selected for wakeup_one(). As
result, we loose a wakeup, and some other waiter will not be woken up.

git-svn-id: svn://svn.freebsd.org/base/stable/8@217816 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/arm/arm/vm_machdep.c
sys/i386/i386/vm_machdep.c
sys/mips/mips/vm_machdep.c
sys/powerpc/aim/vm_machdep.c
sys/powerpc/booke/vm_machdep.c
sys/sparc64/sparc64/vm_machdep.c