Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jul 2003 02:03:50 +0200
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        Julian Elischer <julian@elischer.org>
Cc:        Marcel Moolenaar <marcel@xcllnt.net>
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 
Message-ID:  <16831.1058918630@critter.freebsd.dk>
In-Reply-To: Your message of "Tue, 22 Jul 2003 16:49:09 PDT." <Pine.BSF.4.21.0307221647490.51429-100000@InterJet.elischer.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.BSF.4.21.0307221647490.51429-100000@InterJet.elischer.org>, 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.



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