Andrew Morton wrote:I think it does. [linux-2.6.24-mm1]$ make fs/namespace.o > /dev/null [linux-2.6.24-mm1]$ objdump -d fs/namespace.o | scripts/checkstack.pl x86_64 | grep do_mount 0x00002307 do_mount [namespace.o]: 616 [linux-2.6.24-mm1]$ quilt push Applying patch patches/do_mount_stack patching file fs/namespace.c Now at patch patches/do_mount_stack [linux-2.6.24-mm1]$ make fs/namespace.o > /dev/null [linux-2.6.24-mm1]$ objdump -d fs/namespace.o | scripts/checkstack.pl x86_64 | grep do_mount 0x00002a8b do_mount [namespace.o]: 168 So clearly that one function is reduced. But it's more than that.... I guess the problem is a() calls b() or c() or d() or e() or f(), and gcc adds up all that stack usage, or seems to, and we get more like 6N regardless of the path taken. For example, 2 of the helper functions, once un-inlined, are: 0x00001fd9 do_move_mount [namespace.o]: 288 0x00001e94 do_loopback [namespace.o]: 168 so it looks like we do carry that baggage even if we go the do_new_mount() path for example. Ok, good point, will resend... want a comment on each, or perhaps above do_mount? I suppose on each. -Eric --
| Jeff Garzik | Re: [RFC] Heads up on sys_fallocate() |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Anton Salikhmetov | [PATCH -v8 3/4] Enable the MS_ASYNC functionality in sys_msync() |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | Re: xfrm_state locking regression... |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [PATCH 3/3] Convert the UDP hash lock to RCU |
