From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 19 Jan 2006 11:35:29 -0800 (PST) From: Linus Torvalds Subject: Re: [patch 5/6] mm: simplify vmscan vs release refcounting In-Reply-To: <20060119192219.11913.30071.sendpatchset@linux.site> Message-ID: References: <20060119192131.11913.27564.sendpatchset@linux.site> <20060119192219.11913.30071.sendpatchset@linux.site> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Nick Piggin Cc: Andrew Morton , Linux Memory Management , Linux Kernel Mailing List List-ID: On Thu, 19 Jan 2006, Nick Piggin wrote: > > The VM has an interesting race where a page refcount can drop to zero, but > it is still on the LRU lists for a short time. This was solved by testing > a 0->1 refcount transition when picking up pages from the LRU, and dropping > the refcount in that case. Heh. Now you keep the count offset, but you also end up removing all the comments about it (still) being -1 for free. And your changelog talks about "atomic_inc_not_zero()" even though the code actually does atomic_add_unless(&page->_count, 1, -1); which makes it pretty confusing ;) I also think it's wrong - you've changed put_page_testzero() to use "atomic_dec_and_test()", even though the count is based on -1. So this patch _only_ works together with the next one, and is invalid in many ways on its own. You should re-split the de-skew part correctly.. Linus -- 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