Messages in this thread | | | Date | Thu, 19 Jan 2006 11:35:29 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [patch 5/6] mm: simplify vmscan vs release refcounting |
| |
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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |