diff options
author | Nick Piggin <npiggin@suse.de> | 2006-03-22 03:08:00 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 10:53:57 -0500 |
commit | 674539115cc88473f623581e1d53c0e2ecef2179 (patch) | |
tree | 7a32501091d7370ff4387df68804f918a089c631 /mm/swap.c | |
parent | 4c84cacfa424264f7ad5287298d3ea4a3e935278 (diff) |
[PATCH] mm: less atomic ops
In the page release paths, we can be sure that nobody will mess with our
page->flags because the refcount has dropped to 0. So no need for atomic
operations here.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/swap.c')
-rw-r--r-- | mm/swap.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -215,7 +215,7 @@ void fastcall __page_cache_release(struct page *page) | |||
215 | 215 | ||
216 | spin_lock_irqsave(&zone->lru_lock, flags); | 216 | spin_lock_irqsave(&zone->lru_lock, flags); |
217 | BUG_ON(!PageLRU(page)); | 217 | BUG_ON(!PageLRU(page)); |
218 | ClearPageLRU(page); | 218 | __ClearPageLRU(page); |
219 | del_page_from_lru(zone, page); | 219 | del_page_from_lru(zone, page); |
220 | spin_unlock_irqrestore(&zone->lru_lock, flags); | 220 | spin_unlock_irqrestore(&zone->lru_lock, flags); |
221 | } | 221 | } |
@@ -266,7 +266,7 @@ void release_pages(struct page **pages, int nr, int cold) | |||
266 | spin_lock_irq(&zone->lru_lock); | 266 | spin_lock_irq(&zone->lru_lock); |
267 | } | 267 | } |
268 | BUG_ON(!PageLRU(page)); | 268 | BUG_ON(!PageLRU(page)); |
269 | ClearPageLRU(page); | 269 | __ClearPageLRU(page); |
270 | del_page_from_lru(zone, page); | 270 | del_page_from_lru(zone, page); |
271 | } | 271 | } |
272 | 272 | ||