Date: Tue, 18 Jan 2011 21:57:02 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/arm/arm vm_machdep.c src/sys/i386/i386 vm_machdep.c src/sys/mips/mips vm_machdep.c src/sys/powerpc/aim vm_machdep.c src/sys/powerpc/booke vm_machdep.c src/sys/sparc64/sparc64 vm_machdep.c Message-ID: <201101182157.p0ILvWds041546@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2011-01-18 21:57:02 UTC FreeBSD src repository Modified files: 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 Log: SVN rev 217561 on 2011-01-18 21:57:02Z by kib 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. Reported and tested by: az Reviewed by: alc, jhb MFC after: 1 week Revision Changes Path 1.46 +1 -1 src/sys/arm/arm/vm_machdep.c 1.305 +1 -1 src/sys/i386/i386/vm_machdep.c 1.22 +1 -1 src/sys/mips/mips/vm_machdep.c 1.132 +1 -1 src/sys/powerpc/aim/vm_machdep.c 1.13 +1 -1 src/sys/powerpc/booke/vm_machdep.c 1.86 +1 -1 src/sys/sparc64/sparc64/vm_machdep.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101182157.p0ILvWds041546>