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

Andrew Morton
2009-01-09T06:00:28Z

On Fri, 9 Jan 2009 04:35:31 +0100 Andi Kleen <andi@firstfloor.org> 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.
>

Plus there is the problem where

foo()
{
char a[1000];
}

bar()
{
char a[1000];
}

zot()
{
foo();
bar();
}

uses 2000 bytes of stack.

Fortunately scripts/checkstack.pl can find these.

If someone runs it.

With the right kconfig settings.

And with the right compiler version.