patch-2.1.130 linux/mm/filemap.c
Next file: linux/mm/memory.c
Previous file: linux/kernel/time.c
Back to the patch index
Back to the overall index
- Lines: 57
- Date:
Tue Nov 24 09:25:57 1998
- Orig file:
v2.1.129/linux/mm/filemap.c
- Orig date:
Thu Nov 19 09:56:29 1998
diff -u --recursive --new-file v2.1.129/linux/mm/filemap.c linux/mm/filemap.c
@@ -9,26 +9,17 @@
* most "normal" filesystems (but you don't /have/ to use this:
* the NFS filesystem used to do this differently, for example)
*/
-#include <linux/stat.h>
-#include <linux/sched.h>
-#include <linux/kernel.h>
-#include <linux/mm.h>
+#include <linux/malloc.h>
#include <linux/shm.h>
-#include <linux/errno.h>
#include <linux/mman.h>
-#include <linux/string.h>
-#include <linux/malloc.h>
-#include <linux/fs.h>
#include <linux/locks.h>
#include <linux/pagemap.h>
#include <linux/swap.h>
-#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/blkdev.h>
#include <linux/file.h>
#include <linux/swapctl.h>
-#include <asm/system.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
@@ -167,21 +158,23 @@
case 1:
/* is it a swap-cache or page-cache page? */
if (page->inode) {
- /* Throw swap-cache pages away more aggressively */
- if (PageSwapCache(page)) {
- delete_from_swap_cache(page);
- return 1;
- }
if (test_and_clear_bit(PG_referenced, &page->flags))
break;
if (pgcache_under_min())
break;
+ if (PageSwapCache(page)) {
+ delete_from_swap_cache(page);
+ return 1;
+ }
remove_inode_page(page);
return 1;
}
/* It's not a cache page, so we don't do aging.
* If it has been referenced recently, don't free it */
if (test_and_clear_bit(PG_referenced, &page->flags))
+ break;
+
+ if (buffer_under_min())
break;
/* is it a buffer cache page? */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov