]> git.ipfire.org Git - thirdparty/kernel/stable.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:35:44 +0000 (10:35 -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 72a15dc26bbf399bb891f01f740283e723929b33..856d52a8a4c0f40b277830705e3fb20b22192ea8 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);
 }