Subject: Re: CVS commit: syssrc/sys/arch/sparc/include
To: None <g.mcgarry@ieee.org, uwe@netbsd.org>
From: None <cgd@broadcom.com>
List: source-changes
Date: 05/06/2002 18:10:11
At Tue, 7 May 2002 00:57:16 +0000 (UTC), "Gregory McGarry" wrote:
> This is an interesting one, since most the ports in the tree have
> this problem.  This change is about the only solution, but it is not
> without side effects.  Should a sweep of the tree be done for these?

actually, looking at the code in question...

Several of these are cases that should probably be handled by ... not
inlining at all.

bus_space_map*, bus_space_unmap*, bus_space_subregion_*,
bus_space_mmap, and bus_intr_establish, should be
called... approximately never.  I can't imagine that inlining here
will actually save any code space or time (esp. since what's being
inlined is, itself, a function call).

bus_space_barrier() may deserve to be inlined... but again given
what's being inlined (while loop, function call) I don't know that
it'll help.


the read and write functions are probably OK to be inlined...  but
there are (IMO good) arguments that if they're _not_ you really do
want an external copy, rather than static copies.  (icache,
debuggability, and, last but not least, to provide a nice symbol for
dynamically loaded modules to use -- not that last I checked we had
anything close to a sane dynamically loadable module framework or
driver API/ABI.  8-)


cgd