Thread (31 messages) flat view 31 messages, 10 authors, 2007-07-26

Re: 2.6.23-rc1: BUG_ON in kmap_atomic_prot()

From: Adrian Bunk <hidden>
Date: 2007-07-24 19:41:37
Also in: lkml

On Tue, Jul 24, 2007 at 12:15:48PM -0700, Linus Torvalds wrote:

On Tue, 24 Jul 2007, Andrew Morton wrote:
quoted
fwiw, -fno-inline-functions-called-once (who knew?) takes i386 allnoconfig
vmlinux .text from 928360 up to 955362 bytes (27k larger).

A surprisingly large increase - I wonder if it did something dumb.  It
appears to still correctly inline those things which we've manually marked
inline.  hm.
I think inlining small enough functions is worth it, and the thing is, the 
kernel is actually pretty damn good at having lots of small functions. 
It's one of the few things I really care about from a coding style 
standpoint.

So I'm not surprised that "-fno-inline-functions-called-once" makes things 
larger, because I think it's generally a good idea to inline things that 
are just called once. But it does make things harder to debug, and the 
performance advantages become increasingly small for bigger functions.

And that's a balancing act. Do we care about performance? Yes.
When using CONFIG_CC_OPTIMIZE_FOR_SIZE=y we even actively tell gcc that 
we only care about size and do not care about performance...
But do we 
care so much that it's worth inlining something like buffered_rmqueue()? 
...
Where is the problem with having buffered_rmqueue() inlined?
		Linus
cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help