PERFORCE change 93511 for review

Robert Watson rwatson at FreeBSD.org
Sat Mar 18 17:06:08 UTC 2006


On Sat, 18 Mar 2006, Andrew R. Reiter wrote:

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

If you get bored, you should come hang out in #trustedbsd on EFNet so that we 
can perform more feats of mind-reading :-).

Robert N M Watson

>
> 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