Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Oct 2001 10:34:32 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Dag-Erling Smorgrav <des@ofug.org>
Cc:        cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, Bruce Evans <bde@zeta.org.au>, Matthew Dillon <dillon@apollo.backplane.com>
Subject:   Re: cvs commit: src/sys/vm vnode_pager.c
Message-ID:  <XFMail.011016103432.jhb@FreeBSD.org>
In-Reply-To: <xzpn12rwmph.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help

On 16-Oct-01 Dag-Erling Smorgrav wrote:
> Dag-Erling Smorgrav <des@ofug.org> writes:
>> Matthew Dillon <dillon@apollo.backplane.com> writes:
>> >     ffs_sync() in -current is doing a lot of mutex operations
>> >     in the loop.  If you have various -current mutex debugging
>> >     options turned on, even the default ones I think, this could
>> >     be responsible for the latency you are experiencing.  Each
>> >     scan loop is doing four mutex ops.
>> So, what changed in the witness code to make it so slow (or in the FFS
>> code to make it perform so many mutex operations) around late June /
>> early July?
> 
> BTW, the profiling data show that mutex debugging actually have very
> little impact - 88% of CPU time is spent in _mtx_unlock_spin_flags(),
> and only 0.6% in witness_unlock() (which _mtx_unlock_spin_flags()
> calls).  Witness functions amount to about 3% all told, _mtx_assert()
> accounts for 0.1%.  The problem isn't mutex debugging, or mutex
> handling at all - the problem is that ffs_fsync() has an insane amount
> of work to do, most of which is probably bogus.

How about turning off INVARIANTS and WITNESS and seeing if it does better?
Witness did become more expensive when I made it work for reader/writer locks
on May 4 as it has to manage a list of lock instances instead of embedding the
list inside the lock object itself. 

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.011016103432.jhb>