Re: [patch] mm: fix assertion
From: Nick Piggin <hidden>
Date: 2009-01-16 02:57:11
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 <redacted>
Thanks
On Wed, 14 Jan 2009, Nick Piggin wrote:quoted
(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 <redacted> --- 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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
-- 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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>