lkml.org 
[lkml]   [2014]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC 2/2] x86_64: expand kernel stack to 16K
    On Thu, May 29, 2014 at 08:24:49AM -0700, Linus Torvalds wrote:
    > On Thu, May 29, 2014 at 12:26 AM, Dave Chinner <david@fromorbit.com> 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.

    That sounds like a plan. Perhaps it would be useful to add a
    WARN_ON_ONCE(stack_usage > 8k) (or some other arbitrary depth beyond
    8k) so that we get some indication that we're hitting a deep stack
    but the system otherwise keeps functioning. That gives us some
    motivation to keep stack usage down but isn't a fatal problem like
    it is now....

    Cheers,

    Dave.
    --
    Dave Chinner
    david@fromorbit.com


    \
     
     \ /
      Last update: 2014-05-30 02:01    [W:2.088 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site