From owner-cvs-src-old@FreeBSD.ORG Fri Feb 6 12:24:38 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 728671065687 for ; Fri, 6 Feb 2009 12:24:37 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C6C38FC1B for ; Fri, 6 Feb 2009 12:24:37 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n16COb3D040650 for ; Fri, 6 Feb 2009 12:24:37 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n16CObZf040649 for cvs-src-old@freebsd.org; Fri, 6 Feb 2009 12:24:37 GMT (envelope-from rwatson@repoman.freebsd.org) Message-Id: <200902061224.n16CObZf040649@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rwatson@repoman.freebsd.org using -f From: Robert Watson Date: Fri, 6 Feb 2009 12:24:30 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_7 Subject: cvs commit: src/sys/security/audit audit_pipe.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Feb 2009 12:24:39 -0000 rwatson 2009-02-06 12:24:30 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/security/audit audit_pipe.c Log: SVN rev 188228 on 2009-02-06 12:24:30Z by rwatson Merge r184488 from head to stable/7: Break out single audit_pipe_mtx into two types of locks: a global rwlock protecting the list of audit pipes, and a per-pipe mutex protecting the queue. Likewise, replace the single global condition variable used to signal delivery of a record to one or more pipes, and add a per-pipe condition variable to avoid spurious wakeups when event subscriptions differ across multiple pipes. This slightly increases the cost of delivering to audit pipes, but should reduce lock contention in the presence of multiple readers as only the per-pipe lock is required to read from a pipe, as well as avoid overheading when different pipes are used in different ways. Sponsored by: Apple, Inc. Revision Changes Path 1.11.2.6 +127 -83 src/sys/security/audit/audit_pipe.c