Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 1999 04:34:45 -0500 (EST)
From:      "John S. Dyson" <dyson@iquest.net>
To:        ken@plutotech.com (Kenneth D. Merry)
Cc:        dillon@apollo.backplane.com, Thierry.Besancon@lps.ens.fr, luoqi@watermarkgroup.com, Thierry.Besancon@tournesol.lps.ens.fr, dwhite@gdi.uoregon.edu, freebsd-smp@FreeBSD.ORG, Pierre.David@prism.uvsq.fr, alc@cs.rice.edu, jt@ratp.fr
Subject:   Re: lockmgr() panic
Message-ID:  <199903130934.EAA01281@y.dyson.net>
In-Reply-To: <199903101910.MAA09630@panzer.plutotech.com> from "Kenneth D. Merry" at "Mar 10, 99 12:10:45 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Kenneth D. Merry said:
> 
> I think that's one of those "John-Dyson-only" options.
> 
It was mostly for investigating the cost of consistancy
checks.  If the cost is insignificant, then remove the
#ifdef, and enable the code all of the time.

Note that adding lots of cruft with wordy asserts adds
to bloat.  On X86 machines, registers are expensive, and
subroutine calls really mess things up.  IMO, you cannot
check everything every time.  Sometimes, I added asserts
that were silly, and they should be carefully placed, and
not put willy-nilly all over the code.

Lots of asserts make code almost as unreadable as lots
of '#ifdefs' and silly macros.  Not only that, lots of
asserts unconditionally enabled that don't diagnose a
carefully considered error syndrome just take up memory
unnecessarily, and often don't really help debugging.

Being able to remove asserts and debugging stuff (like
DIAGNOSTIC) increases flexibility.  Like any option,
making silly decisions makes silly results.

-- 
John                  | Never try to teach a pig to sing,
dyson@iquest.net      | it makes one look stupid
jdyson@nc.com         | and it irritates the pig.


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




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