[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090409072949.GF14687@one.firstfloor.org>
Date: Thu, 9 Apr 2009 09:29:49 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Chris Mason <chris.mason@...cle.com>
Cc: Andi Kleen <andi@...stfloor.org>, hugh@...itas.com,
npiggin@...e.de, riel@...hat.com, lee.schermerhorn@...com,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, x86@...nel.org
Subject: Re: [PATCH] [13/16] POISON: The high level memory error handler in the VM
On Wed, Apr 08, 2009 at 01:03:59PM -0400, Chris Mason wrote:
Hi Chris,
Thanks for the review.
> So, try_to_release_page returns 1 when it works. I know this only
> because I have to read it every time to remember ;)
Argh. I think I read that, but then somehow the code still came out
wrong and the tester didn't catch the failure.
>
> try_to_release_page is also very likely to fail if the page is dirty or
> under writeback. At the end of the day, we'll probably need a call into
Would you recommend a retry step? If it fails cancel_dirty_page() and then
retry?
Ideally I would like to stop the write back before it starts (it will
result in a hardware bus abort or even a machine check if the CPU
touches the data), but I realize it's difficult for anything with
private page state. I just cancel dirty for !Private at least.
> the FS to tell it a given page isn't coming back, and to clean it at all
> cost.
>
> invalidatepage is close, but ext3/reiserfs will keep the buffer heads
> and let the page->mapping go to null in an ugly data=ordered corner
> case. The buffer heads pin the page and it won't be freed until the IO
> is done.
invalidate_mapping_pages() ?
I had this in an earlier version, but took it out because it seemed
problematic to rely on a specific inode. Should i reconsider it?
-Andi
--
ak@...ux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists