Re: Linux 2.4.34-pre3

From: Nick Piggin
Date: Tue Sep 19 2006 - 14:55:50 EST


Willy Tarreau wrote:
Hi Nick,

On Wed, Sep 20, 2006 at 03:42:06AM +1000, Nick Piggin wrote:

[cut -pre3 advertisement]


I wonder if 2.4 doesn't need the memory ordering fix to prevent pagecache
corruption in reclaim? (http://www.gatago.com/linux/kernel/14682626.html)

What would need to be done is to test page_count before testing PageDirty,
and putting an smp_rmb between the two.


I've read the thread, and Linus proposed to add an smp_wmb() in
set_page_dirty() too.

I think that isn't needed because put_page is a RMW, which is defined
to order memory. And presumably you wouldn't set the page dirty without
a reference to the page.

I see that an smp_rmb() is already present
in shrink_cache() with the adequate comment.

So there is! My mistake then, I was confused and looking at
try_to_swap_out, but I see that doesn't actually free the page. Fine,
I think 2.4 is OK then.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
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/