mm: fix assertion
authorNick Piggin <npiggin@suse.de>
Wed, 14 Jan 2009 06:28:16 +0000 (07:28 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 14 Jan 2009 15:32:44 +0000 (07:32 -0800)
This assertion is incorrect for lockless pagecache.  By definition if we
have an unpinned page that we are trying to take a speculative reference
to, it may become the tail of a compound page at any time (if it is
freed, then reallocated as a compound page).

It was still a valid assertion for the vmscan.c LRU isolation case, but
it doesn't seem incredibly helpful...  if somebody wants it, they can
put it back directly where it applies in the vmscan code.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/mm.h

index b91a73fd1bcc2d22f64d5387b5c2dfe7473456c8..e8ddc98b8405fdf7c9d32680731e0d5738bb97e1 100644 (file)
@@ -260,7 +260,6 @@ static inline int put_page_testzero(struct page *page)
  */
 static inline int get_page_unless_zero(struct page *page)
 {
-       VM_BUG_ON(PageTail(page));
        return atomic_inc_not_zero(&page->_count);
 }