linux-embedded.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
To: Parag Warudkar <parag.lkml-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Adrian Bunk <bunk-HeJ8Db2Gnd6zQB+pC5nmwQ@public.gmane.org>,
	Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>,
	"Alan D. Brunelle" <Alan.Brunelle-VXdhtT5mjnY@public.gmane.org>,
	"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Kernel Testers List
	<kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Arjan van de Ven <arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>,
	linux-embedded-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected
Date: Tue, 26 Aug 2008 19:52:26 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0808261942100.3363@nehalem.linux-foundation.org> (raw)
In-Reply-To: <f7848160808261936m18c69dc0r26f41850efae4b91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>



On Tue, 26 Aug 2008, Parag Warudkar wrote:
> 
> What about deep call chains? The problem with the uptake of 4K stacks
> seems to be that is not reliably provable that it will work under all
> circumstances.

Umm. Neither is 8k stacks. Nobody "proved" anything.

But yes, some subsystems have insanely deep call chains. And yes, things 
like the VFS recursion (for symlinks) makes that deeper yet for 
filesystems, although only on the lookup path. And that is exactly the 
kind of thing that can exacerbate the problem of the compiler artificially 
making for a bigger stack footprint of a function (*).

For things like the VFS layer, right now we allow a nesting level of 8, I 
think. If I remember correctly, it was 5 historically. Part of raising 
that depth, though, was that we actually moved the recursive part into 
fs/namei.c, and the nesting stack-depth was something pretty damn small 
when the filesystem used "follow_link" properly and let the VFS do it for 
it (ie the callchain to actually look up the link could be deep, but it 
would not recurse back, and instead just return a pointer, so that the 
actual _recursive_ part was just __do_follow_link() and is just a few 
words on the stack).

So yes, we do have some deep callchains, but they tend to be pretty well 
managed for _good_ code. The problems tend to be the areas with lots of 
indirection layers, and yeah, XFS, MD and ACPI all have those kinds of 
things.

In an embdedded world, many of those should be a non-issue, though. 

			Linus

(*) ie the function that _is_ on the deep chain doesn't actually need much 
of a stack footprint at all itself, but it may call a helper function that 
is _not_ in the deep chain, and if it gets inlined it may give its 
excessive stack footprint to the deep chain - and this is _exactly_ the 
problem that happened with inlining "load_module()".

  parent reply	other threads:[~2008-08-27  2:52 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mzBsPw3QUOF.A.87F.wZGsIB@albercik>
     [not found] ` <48B313E0.1000501@hp.com>
     [not found]   ` <alpine.LFD.1.10.0808251326500.3363@nehalem.linux-foundation.org>
     [not found]     ` <200808261111.19205.rusty@rustcorp.com.au>
     [not found]       ` <alpine.LFD.1.10.0808261019450.3363@nehalem.linux-foundation.org>
2008-08-26 18:30         ` [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected Adrian Bunk
     [not found]           ` <20080826183051.GB10925-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-26 18:40             ` Linus Torvalds
     [not found]               ` <alpine.LFD.1.10.0808261134530.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 20:21                 ` Adrian Bunk
2008-08-26 20:41                   ` Linus Torvalds
2008-08-27 16:21                     ` Jamie Lokier
2008-08-26 18:47             ` Linus Torvalds
2008-08-26 19:02               ` Jamie Lokier
     [not found]                 ` <20080826190213.GA30255-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2008-08-26 19:18                   ` Linus Torvalds
     [not found]               ` <alpine.LFD.1.10.0808261144510.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 20:59                 ` Adrian Bunk
2008-08-26 21:04                   ` Linus Torvalds
     [not found]                     ` <alpine.LFD.1.10.0808261403360.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 22:54                       ` Parag Warudkar
     [not found]                         ` <f7848160808261554j2f4eaaa6i1ee8801ae75ca7bf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-26 23:00                           ` David VomLehn
2008-08-26 23:45                             ` Adrian Bunk
2008-08-26 23:47                         ` Linus Torvalds
     [not found]                           ` <alpine.LFD.1.10.0808261644260.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27  0:53                             ` Greg Ungerer
2008-08-27  1:08                               ` Parag Warudkar
2008-08-27  1:31                                 ` Greg Ungerer
     [not found]                                   ` <48B4AE68.4040205-XXXsiaCtIV5Wk0Htik3J/w@public.gmane.org>
2008-08-27  2:16                                     ` Parag Warudkar
2008-08-27  8:44                                       ` Bernd Petrovitsch
2008-08-27  0:58                             ` Parag Warudkar
     [not found]                               ` <f7848160808261758q7b84aab1m188c1ebb59304818-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-27  1:49                                 ` Linus Torvalds
     [not found]                                   ` <alpine.LFD.1.10.0808261837530.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27  2:36                                     ` Parag Warudkar
     [not found]                                       ` <f7848160808261936m18c69dc0r26f41850efae4b91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-27  2:52                                         ` Linus Torvalds [this message]
2008-08-27  8:32                                       ` Alan Cox
2008-08-27  6:01                                     ` Paul Mackerras
     [not found]                                       ` <18612.60878.887716.452936-nUko2b1QN/1kfgV4h6NXRTJtLkR7yuzc@public.gmane.org>
2008-08-27 10:58                                         ` Arjan van de Ven
2008-08-27 15:18                                       ` Linus Torvalds
2008-08-27 11:58                                   ` Adrian Bunk
2008-08-27  9:00                               ` Bernd Petrovitsch
     [not found]                                 ` <1219827609.30209.29.camel-7sPfb3biEqGJZy4MaDjwDw@public.gmane.org>
2008-08-27 12:56                                   ` Parag Warudkar
2008-08-27 13:17                                     ` Bernd Petrovitsch
     [not found]                                       ` <1219843032.30209.51.camel-7sPfb3biEqGJZy4MaDjwDw@public.gmane.org>
2008-08-27 15:48                                         ` Jamie Lokier
2008-08-27 16:38                                           ` Bernd Petrovitsch
     [not found]                                             ` <1219855121.30209.112.camel-7sPfb3biEqGJZy4MaDjwDw@public.gmane.org>
2008-08-27 17:51                                               ` Jamie Lokier
2008-08-27 19:30                                                 ` Bernd Petrovitsch
2008-08-28  0:06                                                 ` Greg Ungerer
     [not found]                                           ` <20080827154805.GA25387-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2008-08-28  0:11                                             ` Greg Ungerer
2008-08-27  8:34                         ` Bernd Petrovitsch
2008-08-26 23:24                       ` Adrian Bunk
     [not found]                         ` <20080826232411.GC11734-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-26 23:51                           ` Linus Torvalds
     [not found]                             ` <alpine.LFD.1.10.0808261648140.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27  0:23                               ` Adrian Bunk
2008-08-27  0:28                                 ` Linus Torvalds
     [not found]                                   ` <alpine.LFD.1.10.0808261726560.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27 11:58                                     ` Adrian Bunk
     [not found]                                       ` <20080827115829.GF11734-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-27 16:00                                         ` Paul Mundt
2008-08-27 17:35                                           ` Adrian Bunk
2008-08-28  0:32                                             ` Paul Mundt
2008-08-28  0:46                                               ` David Miller
     [not found]                                                 ` <20080827.174605.85608276.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-28  1:02                                                   ` Paul Mundt
2008-08-28 16:16                                               ` Adrian Bunk
2008-08-28  1:05                                           ` Greg Ungerer
2008-08-27  8:25                           ` Alan Cox
2008-08-27 12:52                             ` Parag Warudkar
     [not found]                               ` <f7848160808270552u2ee66167x912a68e0bf8b25bf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-27 13:21                                 ` Alan Cox
     [not found]                                   ` <20080827142142.303cdba8-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2008-08-27 16:24                                     ` Parag Warudkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.1.10.0808261942100.3363@nehalem.linux-foundation.org \
    --to=torvalds-de/tnxtf+jlsfhdxvbkv3wd2fqjk+8+b@public.gmane.org \
    --cc=Alan.Brunelle-VXdhtT5mjnY@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=bunk-HeJ8Db2Gnd6zQB+pC5nmwQ@public.gmane.org \
    --cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-embedded-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mingo-X9Un+BFzKDI@public.gmane.org \
    --cc=parag.lkml-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=rjw-KKrjLPT3xs0@public.gmane.org \
    --cc=rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).