User: Password:
Subscribe / Log in / New account

Re: [RFC 2/2] x86_64: expand kernel stack to 16K

From:  Linus Torvalds <>
To:  Dave Chinner <>
Subject:  Re: [RFC 2/2] x86_64: expand kernel stack to 16K
Date:  Thu, 29 May 2014 08:24:49 -0700
Message-ID:  <>
Cc:  Jens Axboe <>, Minchan Kim <>, Linux Kernel Mailing List <>, Andrew Morton <>, linux-mm <>, "H. Peter Anvin" <>, Ingo Molnar <>, Peter Zijlstra <>, Mel Gorman <>, Rik van Riel <>, Johannes Weiner <>, Hugh Dickins <>, Rusty Russell <>, "Michael S. Tsirkin" <>, Dave Hansen <>, Steven Rostedt <>
Archive-link:  Article

On Thu, May 29, 2014 at 12:26 AM, Dave Chinner <> wrote:
> What concerns me about both __alloc_pages_nodemask() and
> kernel_map_pages is that when I look at the code I see functions
> that have no obvious stack usage problem. However, the compiler is
> producing functions with huge stack footprints and it's not at all
> obvious when I read the code. So in this case I'm more concerned
> that we have a major disconnect between the source code structure
> and the code that the compiler produces...

I agree. In fact, this is the main reason that Minchan's call trace
and this thread has actually convinced me that yes, we really do need
to make x86-64 have a 16kB stack (well, 16kB allocation - there's
still the thread info etc too).

Usually when we see the stack-smashing traces, they are because
somebody did something stupid. In this case, there are certainly
stupid details, and things I think we should fix, but there is *not*
the usual red flag of "Christ, somebody did something _really_ wrong".

So I'm not in fact arguing against Minchan's patch of upping
THREAD_SIZE_ORDER to 2 on x86-64, but at the same time stack size does
remain one of my "we really need to be careful" issues, so while I am
basically planning on applying that patch, I _also_ want to make sure
that we fix the problems we do see and not just paper them over.

The 8kB stack has been somewhat restrictive and painful for a while,
and I'm ok with admitting that it is just getting _too_ damn painful,
but I don't want to just give up entirely when we have a known deep
stack case.


To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to  For more info on Linux MM,
see: .
Don't email: <a href=mailto:""> </a>

(Log in to post comments)

Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds