From owner-freebsd-threads@FreeBSD.ORG Tue Oct 11 23:50:41 2005 Return-Path: X-Original-To: threads@freebsd.org Delivered-To: freebsd-threads@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7521016A41F; Tue, 11 Oct 2005 23:50:41 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1436543D48; Tue, 11 Oct 2005 23:50:38 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.ntplx.net (8.13.5/8.13.5/NETPLEX) with ESMTP id j9BNoWrL018928; Tue, 11 Oct 2005 19:50:32 -0400 (EDT) Date: Tue, 11 Oct 2005 19:50:32 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Mikhail Teterin In-Reply-To: <200510111934.56300.mi+mx@aldan.algebra.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: QUOTED-PRINTABLE X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) Cc: threads@freebsd.org, re@freebsd.org Subject: Re: debug defines in libc_r on 6.0 X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Oct 2005 23:50:41 -0000 On Tue, 11 Oct 2005, Mikhail Teterin wrote: > =D7=A6=D7=D4=CF=D2=CF=CB 11 =D6=CF=D7=D4=C5=CE=D8 2005 19:00, Daniel Eisc= hen =F7=C9 =CE=C1=D0=C9=D3=C1=CC=C9: > > No, it's only a couple of instructions for a very few operations. > > I've already replied to you about these before. =9AI don't care > > whether re@ turns them off or not, but go read my prior email > > on this topic. =9AI should eliminate the #defines and always do > > the checks, so you wouldn't notice :( > > We make such checks (however inexpensive) conditional on various DEBUG* a= nd > INVARIANTS* flags in the kernel and userspace should be no different. The > whole idea of assert() is to provide a way to add debugging checks, which= -- > however cheap they are -- can be easily removed from a _release_ version = of > one's software. That's why when I do anything else like this, I'll not make them conditional. They were initially conditional because we didn't know what was eventually going to be put behind them. Now we know and it's nothing. You're just seeing them because they say DEBUG and INVARIANTS. If they weren't conditional, noone would notice. > I remember your e-mail and continue to disagree with it -- the debugging > information and checks are, understandably, precious to you, but if we lo= se, > say, a MySQL benchmark by even a small percentage, the advocacy loss will= be > immense... Please know what it is you are talking about. MySQL benchmarks have been run with and without these flags without any change. > IMHO, the flags should be removed in RELENG_6, or, at least, in RELENG_6_= 0. I'm not having this discussion again. --=20 DE