[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070726180721.GN3572@stusta.de>
Date: Thu, 26 Jul 2007 20:07:21 +0200
From: Adrian Bunk <bunk@...sta.de>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Alexey Dobriyan <adobriyan@...il.com>,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: 2.6.23-rc1: BUG_ON in kmap_atomic_prot()
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists