Re: Page cache patch - less aggressive

Dr. Werner Fink (werner@suse.de)
Tue, 1 Jul 1997 14:08:20 +0200


>
> As suggested by Mark Hemment, I used age_page instead of setting
> page->age to 0. It works for me. I'm sorry, Werner. Please, compare
> both and choose the better.
> Krzysztof Strasburger

Yes ... I've make a similar change a hour ago ... maybe it's better to age
only non buffer pages because of the own age mechanism of the buffer pages
of the old buffer code of 2.0.29 ... therefore I'm using

if (!bh)
age_page(page);

Any comments and/or suggestions are welcome

Werner

>
> --- linux/mm/filemap.c.orig Tue May 6 07:37:23 1997
> +++ linux/mm/filemap.c Tue Jul 1 09:21:10 1997
> @@ -22,6 +22,7 @@
> #include <linux/locks.h>
> #include <linux/pagemap.h>
> #include <linux/swap.h>
> +#include <linux/swapctl.h>
>
> #include <asm/segment.h>
> #include <asm/system.h>
> @@ -187,7 +188,11 @@
>
> default:
> /* more than one users: we can't throw it away */
> - set_bit(PG_referenced, &page->flags);
> + /* Original: make the shared page inviolable. */
> + /* >set_bit(PG_referenced, &page->flags); */
> + /* Modified: make it good candidate for swapping out. */
> + /* page->age = 0; */
> + age_page(page);
> /* fall through */
> case 0:
> /* nothing */
>