patch-2.1.131 linux/mm/filemap.c
Next file: linux/mm/swap.c
Previous file: linux/kernel/fork.c
Back to the patch index
Back to the overall index
- Lines: 28
- Date:
Fri Nov 27 10:29:12 1998
- Orig file:
v2.1.130/linux/mm/filemap.c
- Orig date:
Fri Nov 27 13:09:30 1998
diff -u --recursive --new-file v2.1.130/linux/mm/filemap.c linux/mm/filemap.c
@@ -200,8 +200,8 @@
struct page * page;
int count_max, count_min;
- count_max = (limit<<1) >> (priority>>1);
- count_min = (limit<<1) >> (priority);
+ count_max = limit;
+ count_min = (limit<<2) >> (priority);
page = mem_map + clock;
do {
@@ -214,7 +214,15 @@
if (shrink_one_page(page, gfp_mask))
return 1;
count_max--;
- if (page->inode || page->buffers)
+ /*
+ * If the page we looked at was recyclable but we didn't
+ * reclaim it (presumably due to PG_referenced), don't
+ * count it as scanned. This way, the more referenced
+ * page cache pages we encounter, the more rapidly we
+ * will age them.
+ */
+ if (atomic_read(&page->count) != 1 ||
+ (!page->inode && !page->buffers))
count_min--;
page++;
clock++;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov