Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [RFC 2/2] x86_64: expand kernel stack to 16K | Date | Fri, 30 May 2014 14:23:04 -0700 |
| |
Linus Torvalds <torvalds@linux-foundation.org> writes:
> From a quick glance at the frame usage, some of it seems to be gcc > being rather bad at stack allocation, but lots of it is just nasty > spilling around the disgusting call-sites with tons or arguments. A > _lot_ of the stack slots are marked as "%sfp" (which is gcc'ese for > "spill frame pointer", afaik).
> Avoiding some inlining, and using a single flag value rather than the > collection of "bool"s would probably help. But nothing really > trivially obvious stands out.
One thing that may be worth playing around with gcc's --param large-stack-frame and --param large-stack-frame-growth
This tells the inliner when to stop inlining when too much stack would be used.
We use conserve stack I believe. So perhaps smaller values than 100 and 400 would make sense to try.
-fconserve-stack Attempt to minimize stack usage. The compiler attempts to use less stack space, even if that makes the program slower. This option implies setting the large-stack-frame parameter to 100 and the large-stack-frame-growth parameter to 400.
-Andi
-- ak@linux.intel.com -- Speaking for myself only
| |