On Thu, May 29, 2014 at 12:26 AM, Dave Chinner <david@xxxxxxxxxxxxx> 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. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>