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

From: Nick Piggin
Date: Thu Jan 19 2006 - 14:52:01 EST


On Thu, Jan 19, 2006 at 11:35:29AM -0800, Linus Torvalds wrote:
>
>
> 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..
>

Man I'm really happy one of us is awake. Sorry, I'll resend the last two.

Nick
-
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/