lkml.org 
[lkml]   [2009]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Swappiness vs. mmap() and interactive response
    Date
    > On Wed, 29 Apr 2009 21:14:39 -0700 Elladan <elladan@eskimo.com> wrote:
    >
    > > > Elladan, have you checked to see whether the Mapped: number in
    > > > /proc/meminfo is decreasing?
    > >
    > > Yes, Mapped decreases while a large file copy is ongoing. It increases again
    > > if I use the GUI.
    >
    > OK. If that's still happening to an appreciable extent after you've
    > increased /proc/sys/vm/swappiness then I'd wager that we have a
    > bug/regression in that area.
    >
    > Local variable `scan' in shrink_zone() is vulnerable to multiplicative
    > overflows on large zones, but I doubt if you have enough memory to
    > trigger that bug.
    >
    >
    > From: Andrew Morton <akpm@linux-foundation.org>
    >
    > Local variable `scan' can overflow on zones which are larger than
    >
    > (2G * 4k) / 100 = 80GB.
    >
    > Making it 64-bit on 64-bit will fix that up.

    Agghh, thanks bugfix.

    Note: His meminfo indicate his machine has 3.5GB ram. then this
    patch don't fix his problem.



    >
    > Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    > Cc: Wu Fengguang <fengguang.wu@intel.com>
    > Cc: Peter Zijlstra <peterz@infradead.org>
    > Cc: Rik van Riel <riel@redhat.com>
    > Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
    > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    > ---
    >
    > mm/vmscan.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff -puN mm/vmscan.c~vmscan-avoid-multiplication-overflow-in-shrink_zone mm/vmscan.c
    > --- a/mm/vmscan.c~vmscan-avoid-multiplication-overflow-in-shrink_zone
    > +++ a/mm/vmscan.c
    > @@ -1479,7 +1479,7 @@ static void shrink_zone(int priority, st
    >
    > for_each_evictable_lru(l) {
    > int file = is_file_lru(l);
    > - int scan;
    > + unsigned long scan;
    >
    > scan = zone_nr_pages(zone, sc, l);
    > if (priority) {
    > _
    >
    >





    \
     
     \ /
      Last update: 2009-04-30 06:57    [W:5.855 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site