Re: [rfc][patch] remove racy sync_page?

Hugh Dickins
2006-05-30T18:32:01Z

On Tue, 30 May 2006, Nick Piggin wrote:
>
> But for 2.6.17, how's this?

It was a great emperor's-clothes-like discovery. But we've survived
for so many years without noticing, does it have to be fixed right
now for 2.6.17? (I bet I'd be insisting yes if I'd found it.)

The thing I don't like about your lock_page_nosync (reasonable as
it is) is that the one case you're using it, set_page_dirty_nolock,
would be so much happier not to have to lock the page in the first
place - it's only doing _that_ to stabilize page->mapping, and the
lock_page forbids it from being called from anywhere that can't
sleep, which is often just where we want to call it from. Neil's
suggestion, using a spin_lock against the mapping changing, would
help there; but seems like more work than I'd want to get into.

So, although I think lock_page_nosync fixes the bug (at least in
that one place we've identified there's likely to be such a bug),
it seems to be aiming at the wrong target. I'm pacing and thinking,
doubt I'll come up with anything better, please don't hold breath.

Hugh