From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id 82AAB6B0044 for ; Thu, 15 Jan 2009 21:57:11 -0500 (EST) Date: Fri, 16 Jan 2009 03:57:08 +0100 From: Nick Piggin Subject: Re: [patch] mm: fix assertion Message-ID: <20090116025708.GJ17810@wotan.suse.de> References: <20090114062816.GA15671@wotan.suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org To: Christoph Lameter Cc: Linus Torvalds , Linux Memory Management List List-ID: On Thu, Jan 15, 2009 at 11:35:45AM -0600, Christoph Lameter wrote: > You still have a > > VM_BUG_ON(PageTail(page)); > > in page_cache_get_speculative() which will verify that the > successfully acquired speculative reference is not a compound tail. Good point. > Reviewed-by: Christoph Lameter Thanks > > On Wed, 14 Jan 2009, Nick Piggin wrote: > > > (I ran into this when debugging the lockless pagecache barrier problem btw) > > > > -- > > > > 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 > > --- > > Index: linux-2.6/include/linux/mm.h > > =================================================================== > > --- linux-2.6.orig/include/linux/mm.h 2009-01-05 14:53:29.000000000 +1100 > > +++ linux-2.6/include/linux/mm.h 2009-01-05 14:53:54.000000000 +1100 > > @@ -270,7 +270,6 @@ static inline int put_page_testzero(stru > > */ > > static inline int get_page_unless_zero(struct page *page) > > { > > - VM_BUG_ON(PageTail(page)); > > return atomic_inc_not_zero(&page->_count); > > } > > > > > > -- > > To unsubscribe, send a message with 'unsubscribe linux-mm' in > > the body to majordomo@kvack.org. For more info on Linux MM, > > see: http://www.linux-mm.org/ . > > Don't email: email@kvack.org > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org