Date: Sat, 18 Mar 2006 17:07:12 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: "Andrew R. Reiter" <arr@watson.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 93511 for review Message-ID: <20060318170636.E578@fledge.watson.org> In-Reply-To: <20060318120450.C51324@fledge.watson.org> References: <200603181701.k2IH1r5x004312@repoman.freebsd.org> <20060318120450.C51324@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@watson.org >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060318170636.E578>