From owner-cvs-src@FreeBSD.ORG Tue Jul 22 17:04:01 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 34B0B37B401; Tue, 22 Jul 2003 17:04:01 -0700 (PDT) Received: from phk.freebsd.dk (phk.freebsd.dk [212.242.86.175]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEAE143FA3; Tue, 22 Jul 2003 17:03:59 -0700 (PDT) (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by phk.freebsd.dk (8.12.8/8.12.8) with ESMTP id h6N03qV3031667; Wed, 23 Jul 2003 00:03:52 GMT (envelope-from phk@phk.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.9/8.12.9) with ESMTP id h6N03o5H016832; Wed, 23 Jul 2003 02:03:51 +0200 (CEST) (envelope-from phk@phk.freebsd.dk) To: Julian Elischer From: "Poul-Henning Kamp" In-Reply-To: Your message of "Tue, 22 Jul 2003 16:49:09 PDT." Date: Wed, 23 Jul 2003 02:03:50 +0200 Message-ID: <16831.1058918630@critter.freebsd.dk> X-Mailman-Approved-At: Tue, 22 Jul 2003 17:09:31 -0700 cc: "Alan L. Cox" cc: src-committers@FreeBSD.ORG cc: Bosko Milekic cc: Bruce Evans cc: cvs-src@FreeBSD.ORG cc: David Schultz cc: Steve Kargl cc: cvs-all@FreeBSD.ORG cc: Marcel Moolenaar Subject: Re: cvs commit: src/sys/kern init_main.c kern_malloc.c md5c.c subr_autoconf.c subr_mbuf.c subr_prf.c tty_subr.c vfs_cluster.c vfs_subr.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2003 00:04:01 -0000 In message , Ju lian Elischer writes: > > >On Wed, 23 Jul 2003, Poul-Henning Kamp wrote: > >> >> You can see some of my raw data here: http://phk/misc/inline.txt >> > >This doesn't resolve... sorry, http://phk.freebsd.dk/misc/inline.txt And while I'm here, let me show you guys the most compelling argument why we should be critical of even trivial uses of __inline. (My apologies to Justin for using his code as an example, it is not meant as a critisism of Justin or his code, I belive we all could have fallen in this trap) If you look in aic79xx_inline.h you will find a family of functions called ahd_in[bwlq]_scbram(). The base text size we have with the inlining is: 100718 4496 0 105214 19afe aic79xx.o then a bug is fixed in ahd_inb_scbram() and due to the cascading effect of the inlines we suddendly find that we have 4976 bytes more code to execute: 105694 4496 0 110190 1ae6e aic79xx.o If on the other hand the bottom function in the cascade, ahd_ibb_scbram() was not inlined in the first place, we would have had before the bugfix: 98878 4496 0 103374 193ce aic79xx.o and and after: 98926 4496 0 103422 193fe aic79xx.o How many of you are actually in the habit of reevaluating if a "harmless bugfix" has any implications in relation to inlining ? That is the sort of thing which makes me belive that unless proven beneficial (by one of the two criteria), inline is harmful. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.