lkml.org 
[lkml]   [2009]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Found the commit that causes the OOMs
    On Thu, Jul 02, 2009 at 03:41:06PM +0800, Minchan Kim wrote:
    >
    >
    > On Tue, 30 Jun 2009 20:57:47 +0100
    > David Howells <dhowells@redhat.com> wrote:
    >
    > > Minchan Kim <minchan.kim@gmail.com> wrote:
    > >
    > > > David. Doesn't it happen OOM if you revert my patch, still?
    > >
    > > It does happen, and indeed happens in v2.6.30, but requires two adjacent runs
    > > of msgctl11 to trigger, rather than usually triggering on the first run. If
    > > you interpolate the rest of LTP between the iterations, it doesn't seem to
    > > happen at all on v2.6.30. My guess is that with the rest of LTP interpolated,
    > > there's either enough time for some cleanup or something triggers a cleanup
    > > (the swapfile tests perhaps?).
    > >
    > > > Befor I go to the trip, I made debugging patch in a hurry. Mel and I
    > > > suspect to put the wrong page in lru list.
    > > >
    > > > This patch's goal is that print page's detail on active anon lru when it
    > > > happen OOM. Maybe you could expand your log buffer size.
    > >
    > > Do you mean to expand the dmesg buffer? That's probably unnecessary: I capture
    > > the kernel log over a serial port into a file on another machine.
    > >
    > > > Could you show me the information with OOM, please ?
    > >
    > > Attached. It's compressed as there was rather a lot.
    > >
    > > David
    > > ---
    >
    > Hi, David.
    >
    > Sorry for late response.
    >
    > I looked over your captured data when I got home but I didn't find any problem
    > in lru page moving scheme.
    > As Wu, Kosaki and Rik discussed, I think this issue is also related to process fork bomb.

    Yes, me think so.

    > When I tested msgctl11 in my machine with 2.6.31-rc1, I found that:

    Were you testing the no-swap case?

    > 2.6.31-rc1
    > real 0m38.628s
    > user 0m10.589s
    > sys 1m12.613s
    >
    > vmstat
    >
    > allocstall 3196
    >
    > 2.6.31-rc1-revert-mypatch
    >
    > real 1m17.396s
    > user 0m11.193s
    > sys 4m3.803s

    It's interesting that (sys > real).

    > vmstat
    >
    > allocstall 584
    >
    > Sometimes I got OOM, sometime not in with 2.6.31-rc1.
    >
    > Anyway, the current kernel's test took a rather short time than my reverted patch.
    > In addition, the current kernel has small allocstall(direct reclaim)
    >
    > As you know, my patch was just to remove calling shrink_active_list in case of no swap.
    > shrink_active_list function is a big cost function.
    > The old shrink_active_list could throttle to fork processes by chance.
    > But by removing that function with my patch, we have a high
    > probability to make process fork bomb. Wu, KOSAKI and Rik, does it
    > make sense?

    Maybe, but I'm not sure on how to explain the time/vmstat numbers :(

    > So I think you were just lucky with a unnecessary routine.
    > Anyway, AFAIK, Rik is making throttling page reclaim.
    > I think it can solve your problem.

    Yes, with good luck :)

    Thanks,
    Fengguang


    \
     
     \ /
      Last update: 2009-07-02 15:45    [W:0.025 / U:29.364 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site