summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Piggin <nickpiggin@yahoo.com.au>2005-09-03 15:54:50 -0700
committerLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 00:05:44 -0700
commit242e54686257493f0b10ac557e730419d9af7d24 (patch)
treed68754b32c531141969a09ca0c5df246893c5b1e
parent9a61c349b28ec5aef7e929236571fd770fdef0bb (diff)
downloadlinux-242e54686257493f0b10ac557e730419d9af7d24.tar.gz
linux-242e54686257493f0b10ac557e730419d9af7d24.tar.bz2
linux-242e54686257493f0b10ac557e730419d9af7d24.zip
[PATCH] mm: remove atomic
This bitop does not need to be atomic because it is performed when there will be no references to the page (ie. the page is being freed). Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/linux/page-flags.h1
-rw-r--r--mm/page_alloc.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index f5a6695d4d21..99f7cc495065 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -194,6 +194,7 @@ extern void __mod_page_state(unsigned long offset, unsigned long delta);
#define SetPageDirty(page) set_bit(PG_dirty, &(page)->flags)
#define TestSetPageDirty(page) test_and_set_bit(PG_dirty, &(page)->flags)
#define ClearPageDirty(page) clear_bit(PG_dirty, &(page)->flags)
+#define __ClearPageDirty(page) __clear_bit(PG_dirty, &(page)->flags)
#define TestClearPageDirty(page) test_and_clear_bit(PG_dirty, &(page)->flags)
#define SetPageLRU(page) set_bit(PG_lru, &(page)->flags)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 8d088371196a..620aa11b24eb 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -329,7 +329,7 @@ static inline void free_pages_check(const char *function, struct page *page)
1 << PG_writeback )))
bad_page(function, page);
if (PageDirty(page))
- ClearPageDirty(page);
+ __ClearPageDirty(page);
}
/*