Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning

Chris Mason
2009-01-09T13:05:02Z

On Fri, 2009-01-09 at 04:35 +0100, Andi Kleen wrote:
> On Thu, Jan 08, 2009 at 05:44:25PM -0800, H. Peter Anvin wrote:
> > Harvey Harrison wrote:
> > >>
> > >> We might still try the second or third options, as i think we shouldnt go
> > >> back into the business of managing the inline attributes of ~100,000
> > >> kernel functions.
> > >
> > > Or just make it clear that inline shouldn't (unless for a very good reason)
> > > _ever_ be used in a .c file.
> > >
> >
> > The question is if that would produce acceptable quality code. In
> > theory it should, but I'm more than wondering if it really will.
>
> I actually often use noinline when developing code simply because it
> makes it easier to read oopses when gcc doesn't inline ever static
> (which it normally does if it only has a single caller). You know
> roughly where it crashed without having to decode the line number.
>
> I believe others do that too, I notice it's all over btrfs for example.

For btrfs it was mostly about stack size at first. I'd use
checkstack.pl and then run through the big funcs and figure out how they
got so huge. It was almost always because gcc was inlining something it
shouldn't, so I started using it on most funcs.

-chris