Re: [PATCH] BUG preserve registers

From: Linus Torvalds (torvalds@transmeta.com)
Date: Sun Feb 10 2002 - 01:16:36 EST


On Sat, 9 Feb 2002, Andrew Morton wrote:
>
> This is due to BUG() calls in inline functions in headers. The biggest
> culprit is dget(), in dcache.h. This causes the full path of the header file
> to be expanded into each and every compilation unit which includes
> dcache.h.

Hmm. Which brings up another issue: can somebody come up with an idea of
how to make the thing not use the whole pathname, but only the basename
relative to the top-of-tree?

I doubt it is possible, but maybe there is some clever way to avoid it..

> I'm showing thirteen header files, for a total of 83k. I'll do something
> about this...

Ok, so even your gcc obviously is _not_ intelligent enough to throw away
strings from inline functions that aren't used. Oh well.

Note that the correct thing to do may be to un-inline a lot of things.
We've done that before, simply because it often improves performance.

What ends up happening is that some function starts out really small, and
then later on people add logic and debug code to it, and suddenly it's not
really appropriate to inline any more.

                Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 15 2002 - 21:00:30 EST