PERFORCE change 93511 for review

Andrew R. Reiter arr at watson.org
Sat Mar 18 17:03:58 UTC 2006


Heh; you just read my mind (was about to email)

On Sat, 18 Mar 2006, Robert Watson wrote:

:http://perforce.freebsd.org/chv.cgi?CH=93511
:
:Change 93511 by rwatson at rwatson_peppercorn on 2006/03/18 17:01:32
:
:	When pulling the global audit queue's contents into a thread-local
:	queue, generate one low water mark transition signal, rather than
:	many, and generate it only if actually crossing the transition
:	point, rather than every time we notice we're below it.
:
:Affected files ...
:
:.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#21 edit
:
:Differences ...
:
:==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#21 (text+ko) ====
:
:@@ -555,7 +555,7 @@
: 	struct ucred *audit_cred;
: 	struct thread *audit_td;
: 	struct vnode *audit_vp;
:-	int error;
:+	int error, lowater_signal;
: 
: 	AUDIT_PRINTF(("audit_worker starting\n"));
: 
:@@ -607,13 +607,16 @@
: 		 * our own clustering, if the lower layers aren't doing it
: 		 * automatically enough.
: 		 */
:+		lowater_signal = 0;
: 		while ((ar = TAILQ_FIRST(&audit_q))) {
: 			TAILQ_REMOVE(&audit_q, ar, k_q);
: 			audit_q_len--;
:-			if (audit_q_len <= audit_qctrl.aq_lowater)
:-				cv_broadcast(&audit_commit_cv);
:+			if (audit_q_len == audit_qctrl.aq_lowater)
:+				lowater_signal++;
: 			TAILQ_INSERT_TAIL(&ar_worklist, ar, k_q);
: 		}
:+		if (lowater_signal)
:+			cv_broadcast(&audit_commit_cv);
: 
: 		mtx_unlock(&audit_mtx);
: 		while ((ar = TAILQ_FIRST(&ar_worklist))) {
:
:

--
arr at watson.org


More information about the trustedbsd-cvs mailing list