On Wed, 22 Aug 2001 03:13:23 +0200
Daniel Phillips <phillips@bonn-fries.net> wrote:
> Oops, yes, I forgot for the moment that we no longer age up in
> __find_page_nolock. Lets try this instead, which should capture the intended
> effect of requiring 4 hits to activate a page (n.b., it's just a test):
>
> --- ../2.4.9.clean/mm/filemap.c Thu Aug 16 14:12:07 2001
> +++ ./mm/filemap.c Wed Aug 22 02:02:24 2001
> @@ -980,10 +980,9 @@
> static inline void check_used_once (struct page *page)
> {
> if (!PageActive(page)) {
> - if (page->age)
> + if (++page->age >= 4)
> activate_page(page);
> else {
> - page->age = PAGE_AGE_START;
> ClearPageReferenced(page);
> }
> }
>
Ok. I applied this patch. What I experience is this:
meminfo Before test:
total: used: free: shared: buffers: cached:
Mem: 921726976 87789568 833937408 0 6705152 37306368
Swap: 271392768 0 271392768
MemTotal: 900124 kB
MemFree: 814392 kB
MemShared: 0 kB
Buffers: 6548 kB
Cached: 36432 kB
SwapCached: 0 kB
Active: 2944 kB
Inact_dirty: 40036 kB
Inact_clean: 0 kB
Inact_target: 868 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 900124 kB
LowFree: 814392 kB
SwapTotal: 265032 kB
SwapFree: 265032 kB
meminfo after test:
total: used: free: shared: buffers: cached:
Mem: 921726976 918429696 3297280 0 9211904 792858624
Swap: 271392768 0 271392768
MemTotal: 900124 kB
MemFree: 3220 kB
MemShared: 0 kB
Buffers: 8996 kB
Cached: 774276 kB
SwapCached: 0 kB
Active: 46776 kB
Inact_dirty: 731852 kB
Inact_clean: 4644 kB
Inact_target: 8460 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 900124 kB
LowFree: 3220 kB
SwapTotal: 265032 kB
SwapFree: 265032 kB
I see the cache grow slowly but constantly during file-copy. I stopped the test, when the first errors occured from NFS at client side (cp: /backup/Aug/day_18_10.gz: Stale NFS file handle). Interestingly the errors came up, when all physical memory was eaten up by the cache, the free section was very low, but no swapping occured (swap _is_ turned on).
I could copy 766389 kB in total which looks roughly like cached-value. I guess there is simply no release done. Does the aging algorithm really work (as expected)?
Regards, Stephan
-
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/
This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:48 EST