From owner-cvs-src@FreeBSD.ORG Tue May 13 20:01:27 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D269F1065686; Tue, 13 May 2008 20:01:27 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C0D0A8FC1B; Tue, 13 May 2008 20:01:27 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m4DK1Rbd093687; Tue, 13 May 2008 20:01:27 GMT (envelope-from rdivacky@repoman.freebsd.org) Received: (from rdivacky@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m4DK1RsU093686; Tue, 13 May 2008 20:01:27 GMT (envelope-from rdivacky) Message-Id: <200805132001.m4DK1RsU093686@repoman.freebsd.org> From: Roman Divacky Date: Tue, 13 May 2008 20:01:27 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/amd64/linux32 linux32_dummy.c syscalls.master src/sys/i386/linux linux_dummy.c syscalls.master src/sys/compat/linux linux_emul.c linux_emul.h linux_futex.c linux_futex.h linux_misc.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2008 20:01:28 -0000 rdivacky 2008-05-13 20:01:27 UTC FreeBSD src repository Modified files: sys/amd64/linux32 syscalls.master linux32_dummy.c sys/i386/linux syscalls.master linux_dummy.c sys/compat/linux linux_emul.c linux_emul.h linux_futex.c linux_futex.h linux_misc.c Log: Implement robust futexes. Most of the code is modelled after what Linux does. This is because robust futexes are mostly userspace thing which we cannot alter. Two syscalls maintain pointer to userspace list and when process exits a routine walks this list waking up processes sleeping on futexes from that list. Reviewed by: kib (mentor) MFC after: 1 month Revision Changes Path 1.13 +0 -2 src/sys/amd64/linux32/linux32_dummy.c 1.34 +4 -2 src/sys/amd64/linux32/syscalls.master 1.21 +6 -3 src/sys/compat/linux/linux_emul.c 1.8 +4 -0 src/sys/compat/linux/linux_emul.h 1.13 +161 -0 src/sys/compat/linux/linux_futex.c 1.4 +18 -0 src/sys/compat/linux/linux_futex.h 1.221 +3 -4 src/sys/compat/linux/linux_misc.c 1.50 +0 -2 src/sys/i386/linux/linux_dummy.c 1.93 +4 -2 src/sys/i386/linux/syscalls.master