Re: 2.6.23-rc1: BUG_ON in kmap_atomic_prot()

Adrian Bunk
2007-07-26T18:08:09Z

On Tue, Jul 24, 2007 at 12:48:13PM -0700, Linus Torvalds wrote:
>
>
> On Tue, 24 Jul 2007, Adrian Bunk wrote:
> >
> > > But do we
> > > care so much that it's worth inlining something like buffered_rmqueue()?
> > >...
> >
> > Where is the problem with having buffered_rmqueue() inlined?
>
> In this case, it was a pain to just even try to find the call chain, or
> read the asm.

Optimization versus debugging is a common issue...

As I said, it might make sense to disable this optimization depending on
some debugging option.

> I would encourage lots of kernel hackers to read the assembler code gcc
> generates. I suspect people being aware of code generation issues (and
> writing their code with that in mind) is a *much* bigger performance
> impact than gcc inlining random functions.
>
> So maybe I'm old-fashioned and crazy, but "readability of the asm result"
> actually is a worthwhile goal. Not because we care directly, but because
> I'd like to encourage people to do it, due to the *indirect* benefits.

This would lead to people trying to optimize code for one gcc version -
and the code might stay this way for 10 years.

People should write readable C code. This also has the best chances of
resulting in good performance with the next gcc version on the next
generation hardware.

> 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