Skip site navigation (1)Skip section navigation (2)
Date:      16 Oct 2001 19:57:32 +0200
From:      Dag-Erling Smorgrav <des@ofug.org>
To:        John Baldwin <jhb@FreeBSD.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:  <xzpzo6rxyb7.fsf@flood.ping.uio.no>
In-Reply-To: <XFMail.011016103432.jhb@FreeBSD.org>
References:  <XFMail.011016103432.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin <jhb@FreeBSD.org> writes:
> 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.

May 4 is about a month and a half before I started seeing these
problems, and the profiling data show that witness code and assertions
account for less than 4% of CPU time.  Here are some of the pertinent
excerpts from the call graph:

[2]     88.0   32.31        0.03 1168605         _mtx_unlock_spin_flags <cycle 1> [2]
                0.03        0.00 1168605/1720935     _mtx_assert [86]
                                 1168605             witness_unlock <cycle 1> [37]

[...]

                                 1168605             _mtx_unlock_spin_flags <cycle 1> [2]
                0.00        0.00      16/1046526     mtx_destroy [20]
                0.00        0.00      56/1046526     _sx_xunlock [223]
                0.00        0.00     139/1046526     _sx_sunlock [152]
               14.59        0.02  465448/1046526     _mtx_unlock_flags [8]
[37]     0.6    0.20        0.00 1634264         witness_unlock <cycle 1> [37]
                                   68406             witness_lock_list_free <cycle 1> [267]

[...]

                0.01        0.00  465448/1720935     _mtx_unlock_flags [8]
                0.03        0.00 1168605/1720935     _mtx_unlock_spin_flags <cycle 1> [2]
[86]     0.1    0.05        0.00 1720935         _mtx_assert [86]

Out of 32.31 seconds spent in _mtx_unlock_spin_flags() and its
descendents, only about 0.25 seconds were spent in witness and
assertion code.

DES
-- 
Dag-Erling Smorgrav - des@ofug.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?xzpzo6rxyb7.fsf>