Re: [PATCH] [13/16] POISON: The high level memory error handler in the VM II

Andi Kleen
2009-04-09T14:00:56Z

On Thu, Apr 09, 2009 at 09:30:29AM -0400, Chris Mason wrote:
> > Is that a correct assumption?
>
> Yes, the page won't become writeback when you're holding the page lock.
> But, the FS usually thinks of try_to_releasepage as a polite request.
> It might fail internally for a bunch of reasons.
>
> To make things even more fun, the page won't become writeback magically,
> but ext3 and reiser maintain lists of buffer heads for data=ordered, and
> they do the data=ordered IO on the buffer heads directly. writepage is
> never called and the page lock is never taken, but the buffer heads go
> to disk. I don't think any of the other filesystems do it this way.

Ok, so do you think my code handles this correctly?

> If we really want the page gone, we'll have to tell the FS
> drop-this-or-else....sorry, its some ugly stuff.

I would like to give a very strong hint at least. If it fails
we can still ignore it, but it will likely have negative consequences later.

>
> The good news is, it is pretty rare. I wouldn't hold up the whole patch

You mean pages with Private bit are rare? Are you suggesting to just
ignore those? How common is it to have Private pages which are not
locked by someone else?

I keep thinking about doing some instrumentation and figure out
how common the various page types are under different loads, but haven't written
that bit so far.

> set just for this problem. We could document the future fun required
> and fix the return value check

I fixed the return value check. Thanks.

> and concentrate on something other than
> this ugly corner ;)

Any suggestions welcome.

-Andi

--
ak@linux.intel.com -- Speaking for myself only.