summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 18:48:25 -0800
committerLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 18:48:25 -0800
commit75b566af5cc6f64f9ab5b66608ff8ce18098a2b4 (patch)
treea7befb989f28ae984b376b72fe39d942bf18cefa /include/linux
parentff31dc0b2b944b3d08c20d4d2a79e47345ac8b16 (diff)
v2.4.5.7 -> v2.4.5.8
- me: fix GFB_BUFFER thinkos. Make buffer syncing more efficient. Make sure we don't leave buffers on the LOCKED list forever - David Miller: networking and sparc updates
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h2
-rw-r--r--include/linux/mm.h21
-rw-r--r--include/linux/slab.h5
3 files changed, 15 insertions, 13 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 29deb173f565..f6866ccf6abb 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1056,7 +1056,7 @@ extern struct file_operations rdwr_pipe_fops;
extern int fs_may_remount_ro(struct super_block *);
-extern int try_to_free_buffers(struct page *, int);
+extern int try_to_free_buffers(struct page *, unsigned int);
extern void refile_buffer(struct buffer_head * buf);
/* reiserfs_writepage needs this */
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 31ebd2ba14b2..6e5d72757d05 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -533,18 +533,19 @@ extern struct page *filemap_nopage(struct vm_area_struct *, unsigned long, int);
#define __GFP_HIGHMEM 0x02
/* Action modifiers - doesn't change the zoning */
-#define __GFP_WAIT 0x10
-#define __GFP_HIGH 0x20
-#define __GFP_IO 0x40
-#define __GFP_BUFFER 0x80
+#define __GFP_WAIT 0x10 /* Can wait and reschedule? */
+#define __GFP_HIGH 0x20 /* Should access emergency pools? */
+#define __GFP_IO 0x40 /* Can start physical IO? */
+#define __GFP_FS 0x80 /* Can call down to low-level FS? */
-#define GFP_BUFFER (__GFP_HIGH | __GFP_WAIT | __GFP_BUFFER)
+#define GFP_NOIO (__GFP_HIGH | __GFP_WAIT)
+#define GFP_NOFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO)
#define GFP_ATOMIC (__GFP_HIGH)
-#define GFP_USER ( __GFP_WAIT | __GFP_IO)
-#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHMEM)
-#define GFP_KERNEL (__GFP_HIGH | __GFP_WAIT | __GFP_IO)
-#define GFP_NFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO)
-#define GFP_KSWAPD ( __GFP_IO)
+#define GFP_USER ( __GFP_WAIT | __GFP_IO | __GFP_FS)
+#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HIGHMEM)
+#define GFP_KERNEL (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_FS)
+#define GFP_NFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_FS)
+#define GFP_KSWAPD ( __GFP_IO | __GFP_FS)
/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some
platforms, used as appropriate on others */
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 32895d79186b..e70bf400632c 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -15,14 +15,15 @@ typedef struct kmem_cache_s kmem_cache_t;
#include <linux/cache.h>
/* flags for kmem_cache_alloc() */
-#define SLAB_BUFFER GFP_BUFFER
+#define SLAB_NOFS GFP_NOFS
+#define SLAB_NOIO GFP_NOIO
#define SLAB_ATOMIC GFP_ATOMIC
#define SLAB_USER GFP_USER
#define SLAB_KERNEL GFP_KERNEL
#define SLAB_NFS GFP_NFS
#define SLAB_DMA GFP_DMA
-#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_BUFFER)
+#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS)
#define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
/* flags to pass to kmem_cache_create().