diff options
author | davem <davem> | 2001-10-24 19:33:39 +0000 |
---|---|---|
committer | davem <davem> | 2001-10-24 19:33:39 +0000 |
commit | 1f453e4bcf515831173abf6aa88b48ce7fc4f719 (patch) | |
tree | b1b6dda3f4ca731de8e048f010757f51220806db /include | |
parent | 66fec6cce975de3ec526221b1fb15e2fe1eace14 (diff) | |
download | netdev-vger-cvs-1f453e4bcf515831173abf6aa88b48ce7fc4f719.tar.gz |
Merge mainline to 2.4.13 final.
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fs.h | 3 | ||||
-rw-r--r-- | include/linux/locks.h | 2 | ||||
-rw-r--r-- | include/linux/mm.h | 17 | ||||
-rw-r--r-- | include/linux/slab.h | 2 | ||||
-rw-r--r-- | include/linux/swap.h | 4 |
5 files changed, 15 insertions, 13 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 73c5e08ea..103a8176c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -214,7 +214,8 @@ enum bh_state_bits { BH_Mapped, /* 1 if the buffer has a disk mapping */ BH_New, /* 1 if the buffer is new and not yet written out */ BH_Async, /* 1 if the buffer is under end_buffer_io_async I/O */ - BH_Wait_IO, /* 1 if we should throttle on this buffer */ + BH_Wait_IO, /* 1 if we should write out this buffer */ + BH_launder, /* 1 if we should throttle on this buffer */ BH_PrivateStart,/* not a state bit, but the first bit available * for private allocation by other entities diff --git a/include/linux/locks.h b/include/linux/locks.h index ef48a874a..5047591f9 100644 --- a/include/linux/locks.h +++ b/include/linux/locks.h @@ -26,7 +26,7 @@ static inline void lock_buffer(struct buffer_head * bh) __wait_on_buffer(bh); } -extern void unlock_buffer(struct buffer_head *bh); +extern void FASTCALL(unlock_buffer(struct buffer_head *bh)); /* * super-block locking. Again, interrupts may only unlock diff --git a/include/linux/mm.h b/include/linux/mm.h index 81190ca01..c94d22c72 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -279,6 +279,7 @@ typedef struct page { #define PG_checked 12 /* kill me in 2.5.<early>. */ #define PG_arch_1 13 #define PG_reserved 14 +#define PG_launder 15 /* written out by VM pressure.. */ /* Make it prettier to test the above... */ #define Page_Uptodate(page) test_bit(PG_uptodate, &(page)->flags) @@ -292,6 +293,8 @@ typedef struct page { #define TryLockPage(page) test_and_set_bit(PG_locked, &(page)->flags) #define PageChecked(page) test_bit(PG_checked, &(page)->flags) #define SetPageChecked(page) set_bit(PG_checked, &(page)->flags) +#define PageLaunder(page) test_bit(PG_launder, &(page)->flags) +#define SetPageLaunder(page) set_bit(PG_launder, &(page)->flags) extern void __set_page_dirty(struct page *); @@ -308,6 +311,7 @@ static inline void set_page_dirty(struct page * page) * parallel wait_on_page). */ #define UnlockPage(page) do { \ + clear_bit(PG_launder, &(page)->flags); \ smp_mb__before_clear_bit(); \ if (!test_and_clear_bit(PG_locked, &(page)->flags)) BUG(); \ smp_mb__after_clear_bit(); \ @@ -550,17 +554,16 @@ extern struct page *filemap_nopage(struct vm_area_struct *, unsigned long, int); #define __GFP_IO 0x40 /* Can start low memory physical IO? */ #define __GFP_HIGHIO 0x80 /* Can start high mem physical IO? */ #define __GFP_FS 0x100 /* Can call down to low-level FS? */ -#define __GFP_WAITBUF 0x200 /* Can we wait for buffers to complete? */ #define GFP_NOHIGHIO (__GFP_HIGH | __GFP_WAIT | __GFP_IO) #define GFP_NOIO (__GFP_HIGH | __GFP_WAIT) -#define GFP_NOFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_WAITBUF) +#define GFP_NOFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO) #define GFP_ATOMIC (__GFP_HIGH) -#define GFP_USER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_WAITBUF | __GFP_FS) -#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_WAITBUF | __GFP_FS | __GFP_HIGHMEM) -#define GFP_KERNEL (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_WAITBUF | __GFP_FS) -#define GFP_NFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_WAITBUF | __GFP_FS) -#define GFP_KSWAPD ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_WAITBUF | __GFP_FS) +#define GFP_USER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) +#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS | __GFP_HIGHMEM) +#define GFP_KERNEL (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) +#define GFP_NFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) +#define GFP_KSWAPD ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __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 ae2cffd45..efa8638d6 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -24,7 +24,7 @@ typedef struct kmem_cache_s kmem_cache_t; #define SLAB_NFS GFP_NFS #define SLAB_DMA GFP_DMA -#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_HIGHIO|__GFP_WAITBUF|__GFP_FS) +#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_HIGHIO|__GFP_FS) #define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */ /* flags to pass to kmem_cache_create(). diff --git a/include/linux/swap.h b/include/linux/swap.h index e8268cb67..006add2a9 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -102,15 +102,13 @@ extern void FASTCALL(__lru_cache_del(struct page *)); extern void FASTCALL(lru_cache_del(struct page *)); extern void FASTCALL(deactivate_page(struct page *)); -extern void FASTCALL(deactivate_page_nolock(struct page *)); extern void FASTCALL(activate_page(struct page *)); -extern void FASTCALL(activate_page_nolock(struct page *)); extern void swap_setup(void); /* linux/mm/vmscan.c */ extern wait_queue_head_t kswapd_wait; -extern int FASTCALL(try_to_free_pages(unsigned int, unsigned int)); +extern int FASTCALL(try_to_free_pages(zone_t *, unsigned int, unsigned int)); /* linux/mm/page_io.c */ extern void rw_swap_page(int, struct page *); |