> 
> We have a system with 4G of memory that process streams of information
> in the order of a Terabyte of information.  We worked hard to make is
> to we never have more then ~3G of data in memory at any one time, so
> we would not go into swap.  We tested our code, and the began to swap,
> I downloaded 2.4.14-pre8, and it still swaps.  But, if I turn off our
> swap partitions it works well, so swap was not needed.
> 
> With the 2.4.14-pre6aa1 kernel, with swap turned on, we have no
> problem.
> 
> In the beginning I though it was the same bug as the google bug, but
> following and asking stupid questions I realized it wasn't.  The
> following program, which approximates what our processing does on a
> small scale, can demonstrate the bug.  You need the chunk files as
> used in the google bug test code.  The comments of the code show a
> fast way to make the chunk files.
> 
> Any possibility of this being fixed in the stable kernel?  Any way to
> raise the priority of reclaiming cached memory over swapping out
> pages? 
Yes. Currently, the kernel "tries" to keep the LRU list of pages with 90%
of mapped pages and 10% of cache when there is memory pressure.
By looking at mm/vmscan.c::shrink_cache() you can see:
        int max_scan = nr_inactive_pages / priority;
        int max_mapped = nr_pages << (9 - priority);
"max_scan" is the max. number of pages the kernel will scan on the
inactive list (the inactive list is usually 1/3 of the total amount of
pages) each time "shrink_cache()" is called.
"max_mapped" is the (roughly) maximum number of non-cache (anonymous)
pages the kernel will scan _before_ it tries to search for data to map to
swap. So basically right now we will scan 
You should try to increase "max_mapped" to "nr_pages << (10 - priority)"
and so on until you get good tuning for your workload.
> I'd like to try to stay away from development kernels on what
> are meant to be stable systems, but for now it's aa kernels for me.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/