Re: 2.6.23-rc1: BUG_ON in kmap_atomic_prot()

Adrian Bunk
2007-07-24T19:41:37Z

On Tue, Jul 24, 2007 at 12:15:48PM -0700, Linus Torvalds wrote:
>
>
> On Tue, 24 Jul 2007, Andrew Morton wrote:
> >
> > 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