From 595cf06fad2068ed3e97caabbb92ebe71ffd97d9 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 4 Feb 2002 20:30:02 -0800 Subject: v2.4.13.6 -> v2.4.13.7 - me: reinstate "delete swap cache on low swap" code - David Miller: ksoftirqd startup race fix - Hugh Dickins: make tmpfs free swap cache entries proactively --- include/linux/mm.h | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'include/linux/mm.h') diff --git a/include/linux/mm.h b/include/linux/mm.h index 925c2cb25bdd..e128b2f84bc0 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -282,6 +282,7 @@ typedef struct page { #define PG_launder 15 /* written out by VM pressure.. */ /* Make it prettier to test the above... */ +#define UnlockPage(page) unlock_page(page) #define Page_Uptodate(page) test_bit(PG_uptodate, &(page)->flags) #define SetPageUptodate(page) set_bit(PG_uptodate, &(page)->flags) #define ClearPageUptodate(page) clear_bit(PG_uptodate, &(page)->flags) @@ -296,13 +297,7 @@ typedef struct page { #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 *); - -static inline void set_page_dirty(struct page * page) -{ - if (!test_and_set_bit(PG_dirty, &page->flags)) - __set_page_dirty(page); -} +extern void FASTCALL(set_page_dirty(struct page *)); /* * The first mb is necessary to safely close the critical section opened by the @@ -310,14 +305,6 @@ static inline void set_page_dirty(struct page * page) * the clear_bit and the read of the waitqueue (to avoid SMP races with a * 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(); \ - if (waitqueue_active(&(page)->wait)) \ - wake_up(&(page)->wait); \ - } while (0) #define PageError(page) test_bit(PG_error, &(page)->flags) #define SetPageError(page) set_bit(PG_error, &(page)->flags) #define ClearPageError(page) clear_bit(PG_error, &(page)->flags) @@ -465,6 +452,7 @@ static inline int is_page_cache_freeable(struct page * page) return page_count(page) - !!page->buffers == 1; } +extern int can_share_swap_page(struct page *); extern int remove_exclusive_swap_page(struct page *); extern void __free_pte(pte_t); -- cgit v1.2.3