[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20061027141944.d68fef87.akpm@osdl.org>
Date: Fri, 27 Oct 2006 14:19:44 -0700
From: Andrew Morton <akpm@...l.org>
To: Richard Purdie <rpurdie@...nedhand.com>
Cc: kernel list <linux-kernel@...r.kernel.org>,
Hugh Dickins <hugh@...itas.com>
Subject: Re: [PATCH, RFC/T] Fix handling of write failures to swap devices
On Fri, 27 Oct 2006 08:59:55 +0100
Richard Purdie <rpurdie@...nedhand.com> wrote:
> Fix handling of write failures to swap devices.
>
> Calling SetPageError(page) marks the data in memory as bad and processes using
> the page in question will die unexpectedly. This isn't necessary as the data
> in the memory page is still valid, just the copy on disk isn't. This patch
> therefore removes this call.
>
> Setting set_page_dirty(page) is good as the memory page will be retained and
> processes don't die. It will try to write out the page again soon but a second
> attempt at a write is probably no more likely to succeed than the first
> resulting in IO loops. We can do better.
>
> This patch attempts to unuse the page in a similar manner to swapoff. If
> successful, mark the swap page as bad and remove it from use. If we fail to
> remove all references, we fall back on set_page_dirty above which will retry
> the write.
>
> If we can mark the swap page as bad, adjust the VM accounting to reflect this.
>
Sounds like a reasonable approach. Please copy Hugh (our lead swapoff maintainer)
on this work.
How was this tested?
-
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