Re: Memory and rsync problem with vanilla 2.6.7

From: Nick Piggin
Date: Sun Jun 20 2004 - 09:49:55 EST


Grzegorz Kulewski wrote:
Well it doesn't seem to have caused too much trouble as yet... But it
is the obvious candidate if your problems continue. If you are not a
bk user, the attached patch will also revert that change.

Thanks, I will test it soon and I will report results. But I am not saying it is a bug - maybe it is simply change that can lead to problems with insane debug options but itself is good?


Are you sure that this is good patch against vanilla 2.6.7? It gives me 2 failed hunks (both normal and -R)... Should I merge it manually?


You're right here's the correct one. linux-2.6-npiggin/mm/vmscan.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)

diff -puN mm/vmscan.c~vm-revert-fix mm/vmscan.c
--- linux-2.6/mm/vmscan.c~vm-revert-fix 2004-06-21 00:43:07.000000000 +1000
+++ linux-2.6-npiggin/mm/vmscan.c 2004-06-21 00:44:30.000000000 +1000
@@ -867,9 +867,8 @@ shrink_caches(struct zone **zones, struc
for (i = 0; zones[i] != NULL; i++) {
struct zone *zone = zones[i];

- zone->temp_priority = sc->priority;
- if (zone->prev_priority > sc->priority)
- zone->prev_priority = sc->priority;
+ if (zone->free_pages < zone->pages_high)
+ zone->temp_priority = priority;

if (zone->all_unreclaimable && sc->priority != DEF_PRIORITY)
continue; /* Let kswapd poll it */
@@ -1044,8 +1043,6 @@ scan:
all_zones_ok = 0;
}
zone->temp_priority = priority;
- if (zone->prev_priority > priority)
- zone->prev_priority = priority;
sc.nr_scanned = 0;
sc.nr_reclaimed = 0;
sc.priority = priority;

_