On Mon, 04 Dec 2006 14:07:22 -0300
"Horst H. von Brand" <[EMAIL PROTECTED]> wrote:

> Please explain again:
> 
> - What you are doing, step by step

That 2GB machine apparently has a 1.6GB shm segment which is mlocked.  That will
cause the VM to do one heck of a lot of pointless scanning and could, I guess,
cause false oom decisions.  It's also an ia32 highmem machine, which adds to the
fun.

We could scan more:

--- a/mm/vmscan.c~a
+++ a/mm/vmscan.c
@@ -918,6 +918,7 @@ static unsigned long shrink_zone(int pri
         * slowly sift through the active list.
         */
        zone->nr_scan_active += (zone->nr_active >> priority) + 1;
+       zone->nr_scan_active *= 2;
        nr_active = zone->nr_scan_active;
        if (nr_active >= sc->swap_cluster_max)
                zone->nr_scan_active = 0;
@@ -925,6 +926,7 @@ static unsigned long shrink_zone(int pri
                nr_active = 0;
 
        zone->nr_scan_inactive += (zone->nr_inactive >> priority) + 1;
+       zone->nr_scan_inactive *= 2;
        nr_inactive = zone->nr_scan_inactive;
        if (nr_inactive >= sc->swap_cluster_max)
                zone->nr_scan_inactive = 0;
_

but that's rather dumb.  Better would be to remove mlocked pages from the
LRU.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to