Date: Thu, 30 Oct 2008 21:58:39 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/security/audit audit_pipe.c Message-ID: <200810302158.m9ULwiIL022401@repoman.freebsd.org>
index | next in thread | raw e-mail
rwatson 2008-10-30 21:58:39 UTC
FreeBSD src repository
Modified files:
sys/security/audit audit_pipe.c
Log:
SVN rev 184488 on 2008-10-30 21:58:39Z by rwatson
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.
MFC after: 2 months
Sponsored by: Apple, Inc.
Revision Changes Path
1.19 +127 -83 src/sys/security/audit/audit_pipe.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810302158.m9ULwiIL022401>
