patch-2.4.2 linux/mm/mmap.c
Next file: linux/mm/swapfile.c
Previous file: linux/mm/memory.c
Back to the patch index
Back to the overall index
- Lines: 24
- Date:
Tue Feb 6 22:04:12 2001
- Orig file:
v2.4.1/linux/mm/mmap.c
- Orig date:
Sat Feb 3 19:51:32 2001
diff -u --recursive --new-file v2.4.1/linux/mm/mmap.c linux/mm/mmap.c
@@ -12,6 +12,7 @@
#include <linux/smp_lock.h>
#include <linux/init.h>
#include <linux/file.h>
+#include <linux/fs.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
@@ -63,6 +64,15 @@
free += atomic_read(&page_cache_size);
free += nr_free_pages();
free += nr_swap_pages;
+ /*
+ * The code below doesn't account for free space in the inode
+ * and dentry slab cache, slab cache fragmentation, inodes and
+ * dentries which will become freeable under VM load, etc.
+ * Lets just hope all these (complex) factors balance out...
+ */
+ free += (dentry_stat.nr_unused * sizeof(struct dentry)) >> PAGE_SHIFT;
+ free += (inodes_stat.nr_unused * sizeof(struct inode)) >> PAGE_SHIFT;
+
return free > pages;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)