]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm: fix assertion
authorNick Piggin <npiggin@suse.de>
Wed, 14 Jan 2009 06:28:16 +0000 (07:28 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 18 Jan 2009 18:44:06 +0000 (10:44 -0800)
commit 18e6959c385f3edf3991fa6662a53dac4eb10d5b upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/mm.h

index ffee2f74341856275ead62f71c6093c8de457199..86b836d276a83b724e231bb42a6bacd52df310d5 100644 (file)
@@ -253,7 +253,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);
 }