Thread (3 messages) 3 messages, 2 authors, 2009-01-16

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help