Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c -bisected

From: Adrian Bunk
Date: Tue Aug 26 2008 - 20:24:22 EST


On Tue, Aug 26, 2008 at 04:51:52PM -0700, Linus Torvalds wrote:
>
>
> On Wed, 27 Aug 2008, Adrian Bunk wrote:
> > >
> > > We're much better off with a 1% code-size reduction than forcing big
> > > stacks on people. The 4kB stack option is also a good way of saying "if it
> > > works with this, then 8kB is certainly safe".
> >
> > You implicitely assume both would solve the same problem.
>
> I'm just saying that your logic doesn't hold water.
>
> If we can save kernel stack usage, then a 1% increase in kernel size is
> more than worth it.

>From some tests the size increase seems to become bigger for smaller
kernels, but I don't have any really good data.


An interesting question is why most of our architectures for embedded
devices only offer bigger stacks:

The only architectures offering a 4kB stacks option are:
- m68knommu
- sh
- 32bit x86

The following architectures that are used in embedded devices
always use 8kB stacks (or bigger) in your tree:
- arm
- avr32
- blackfin
- cris
- frv
- h8300
- m32r
- m68k
- mips
- mn10300 (has an #ifdef CONFIG_4KSTACKS but no kconfig option)
- powerpc
- xtensa


> > While 4kB stacks are something we anyway never got 100% working
>
> What? Don't be silly.
>
> Linux _historically_ always used 4kB stacks.
>
> No, they are likely not usable on x86-64, but dammit, they should be more
> than usable on x86-32 still.


When did we get callpaths like like nfs+xfs+md+scsi reliably
working with 4kB stacks on x86-32?


>...
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/