lkml.org 
[lkml]   [2002]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 1gb RAM + 1gb SWAP + make -j bzImage = OOM
    On Fri, 4 Jan 2002 17:24:18 -0800
    Phil Oester <kernel@theoesters.com> wrote:

    > On Fri, Jan 04, 2002 at 04:42:43PM -0800, Nicholas Knight wrote:
    > > The one catch is that -j is specified without a number.
    >
    > [snip superfluous description of what 'make -j' implies]
    >
    > > number, your system is dead. A user issue because it seems the user is
    > > using the option without fully comprehending the consequences.
    >
    > eh? Trust me - i understand the implications of make -j. It's not an
    unreasonable test, especially on a machine with 1gb ram/swap. For reference,
    read Rik's email regarding his reverse VM patch:>
    > http://marc.theaimsgroup.com/?l=linux-kernel&m=101007711817127&w=2
    >
    > Might be enlightening

    I guess this testcase is somewhat driving in the direction of Martins test with
    some setis running, meaning it has a lot of standard processes that need files
    and try to work out something. Can you try Martins patch at your side, redo the
    -j story and give us a result? I attached it for an easy go :-)

    Thanks,
    Stephan

    --- linux.virgin/mm/vmscan.c Mon Dec 31 12:46:25 2001
    +++ linux/mm/vmscan.c Thu Jan 3 19:43:02 2002
    @@ -394,9 +394,9 @@
    if (PageDirty(page) && is_page_cache_freeable(page) && page->mapping) {
    /*
    * It is not critical here to write it only if
    - * the page is unmapped beause any direct writer
    + * the page is unmapped because any direct writer
    * like O_DIRECT would set the PG_dirty bitflag
    - * on the phisical page after having successfully
    + * on the physical page after having successfully
    * pinned it and after the I/O to the page is finished,
    * so the direct writes to the page cannot get lost.
    */
    @@ -480,11 +480,14 @@

    /*
    * Alert! We've found too many mapped pages on the
    - * inactive list, so we start swapping out now!
    + * inactive list.
    + * Move referenced pages to the active list.
    */
    - spin_unlock(&pagemap_lru_lock);
    - swap_out(priority, gfp_mask, classzone);
    - return nr_pages;
    + if (PageReferenced(page)) {
    + del_page_from_inactive_list(page);
    + add_page_to_active_list(page);
    + }
    + continue;
    }

    /*
    @@ -521,6 +524,9 @@
    }
    spin_unlock(&pagemap_lru_lock);

    + if (max_mapped <= 0 && nr_pages > 0)
    + swap_out(priority, gfp_mask, classzone);
    +
    return nr_pages;
    }
    \
     
     \ /
      Last update: 2005-03-22 13:18    [W:0.026 / U:126.352 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site