lkml.org 
[lkml]   [2010]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: PROBLEM + POSS FIX: kernel stack overflow, xfs, many disks, heavy write load, 8k stack, x86-64
    On Fri, Apr 09, 2010 at 01:05:05PM -0500, Eric Sandeen wrote:
    > Chris Mason wrote:
    >
    > > shrink_zone on my box isn't 500 bytes, but lets try the easy stuff
    > > first. This is against .34, if you have any trouble applying to .32,
    > > just add the word noinline after the word static on the function
    > > definitions.
    > >
    > > This makes shrink_zone disappear from my check_stack.pl output.
    > > Basically I think the compiler is inlining the shrink_active_zone and
    > > shrink_inactive_zone code into shrink_zone.
    > >
    > > -chris
    > >
    > > diff --git a/mm/vmscan.c b/mm/vmscan.c
    > > index 79c8098..c70593e 100644
    > > --- a/mm/vmscan.c
    > > +++ b/mm/vmscan.c
    > > @@ -620,7 +620,7 @@ static enum page_references page_check_references(struct page *page,
    > > /*
    > > * shrink_page_list() returns the number of reclaimed pages
    > > */
    > > -static unsigned long shrink_page_list(struct list_head *page_list,
    > > +static noinline unsigned long shrink_page_list(struct list_head *page_list,
    >
    > FWIW akpm suggested that I add:
    >
    > /*
    > * Rather then using noinline to prevent stack consumption, use
    > * noinline_for_stack instead. For documentaiton reasons.
    > */
    > #define noinline_for_stack noinline
    >
    > so maybe for a formal submission that'd be good to use.

    Oh yeah, I forgot about that one. If the patch actually helps we can
    switch it.

    -chris


    \
     
     \ /
      Last update: 2010-04-09 20:15    [W:0.023 / U:123.040 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site