Re: [patch 5/6] mm: simplify vmscan vs release refcounting

From: Linus Torvalds
Date: Thu Jan 19 2006 - 14:34:03 EST




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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/