diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 18:48:25 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 18:48:25 -0800 |
| commit | 75b566af5cc6f64f9ab5b66608ff8ce18098a2b4 (patch) | |
| tree | a7befb989f28ae984b376b72fe39d942bf18cefa /include/linux | |
| parent | ff31dc0b2b944b3d08c20d4d2a79e47345ac8b16 (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.h | 2 | ||||
| -rw-r--r-- | include/linux/mm.h | 21 | ||||
| -rw-r--r-- | include/linux/slab.h | 5 |
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(). |
