All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] vmscan: skip freeing memory from zones with lots free
@ 2008-11-28 11:08 ` Rik van Riel
  0 siblings, 0 replies; 45+ messages in thread
From: Rik van Riel @ 2008-11-28 11:08 UTC (permalink / raw)
  To: linux-mm; +Cc: linux-kernel, KOSAKI Motohiro, akpm

Skip freeing memory from zones that already have lots of free memory.
If one memory zone has harder to free memory, we want to avoid freeing
excessive amounts of memory from other zones, if only because pageout
IO from the other zones can slow down page freeing from the problem zone.

This is similar to the check already done by kswapd in balance_pgdat().

Signed-off-by: Rik van Riel <riel@redhat.com>
---
Kosaki-san, this should address point (3) from your list.

 mm/vmscan.c |    3 +++
 1 file changed, 3 insertions(+)

Index: linux-2.6.28-rc5/mm/vmscan.c
===================================================================
--- linux-2.6.28-rc5.orig/mm/vmscan.c	2008-11-28 05:53:56.000000000 -0500
+++ linux-2.6.28-rc5/mm/vmscan.c	2008-11-28 06:05:29.000000000 -0500
@@ -1510,6 +1510,9 @@ static unsigned long shrink_zones(int pr
 			if (zone_is_all_unreclaimable(zone) &&
 						priority != DEF_PRIORITY)
 				continue;	/* Let kswapd poll it */
+			if (zone_watermark_ok(zone, sc->order,
+					4*zone->pages_high, high_zoneidx, 0))
+				continue;	/* Lots free already */
 			sc->all_unreclaimable = 0;
 		} else {
 			/*

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2008-12-12  5:50 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-28 11:08 [PATCH] vmscan: skip freeing memory from zones with lots free Rik van Riel
2008-11-28 11:08 ` Rik van Riel
2008-11-28 11:30 ` Peter Zijlstra
2008-11-28 11:30   ` Peter Zijlstra
2008-11-28 22:43 ` Johannes Weiner
2008-11-28 22:43   ` Johannes Weiner
2008-11-29  7:19 ` Andrew Morton
2008-11-29  7:19   ` Andrew Morton
2008-11-29 10:55   ` KOSAKI Motohiro
2008-11-29 10:55     ` KOSAKI Motohiro
2008-12-08 13:00     ` KOSAKI Motohiro
2008-12-08 13:00       ` KOSAKI Motohiro
2008-12-08 13:03       ` KOSAKI Motohiro
2008-12-08 13:03         ` KOSAKI Motohiro
2008-12-08 17:48         ` KOSAKI Motohiro
2008-12-08 17:48           ` KOSAKI Motohiro
2008-12-10  5:07           ` Nick Piggin
2008-12-10  5:07             ` Nick Piggin
2008-12-08 20:25         ` Rik van Riel
2008-12-08 20:25           ` Rik van Riel
2008-12-10  5:09           ` Nick Piggin
2008-12-10  5:09             ` Nick Piggin
2008-12-12  5:50           ` KOSAKI Motohiro
2008-11-29 16:47   ` Rik van Riel
2008-11-29 16:47     ` Rik van Riel
2008-11-29 17:45     ` Andrew Morton
2008-11-29 17:45       ` Andrew Morton
2008-11-29 17:58       ` Rik van Riel
2008-11-29 17:58         ` Rik van Riel
2008-11-29 18:26         ` Andrew Morton
2008-11-29 18:26           ` Andrew Morton
2008-11-29 18:41           ` Rik van Riel
2008-11-29 18:41             ` Rik van Riel
2008-11-29 18:51             ` Andrew Morton
2008-11-29 18:51               ` Andrew Morton
2008-11-29 18:59               ` Rik van Riel
2008-11-29 18:59                 ` Rik van Riel
2008-11-29 20:29                 ` Andrew Morton
2008-11-29 20:29                   ` Andrew Morton
2008-11-29 21:35                   ` Rik van Riel
2008-11-29 21:35                     ` Rik van Riel
2008-11-29 21:57                     ` Andrew Morton
2008-11-29 21:57                       ` Andrew Morton
2008-11-29 22:07                       ` Rik van Riel
2008-11-29 22:07                         ` Rik van Riel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.