public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard@openedhand.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>,
	Hugh Dickins <hugh@veritas.com>,
	kernel list <linux-kernel@vger.kernel.org>
Cc: Andrew Morton <akpm@osdl.org>
Subject: [PATCH 0/4] Improve swap page error handling
Date: Wed, 10 Jan 2007 18:04:54 +0000	[thread overview]
Message-ID: <1168452294.5801.58.camel@localhost.localdomain> (raw)

Improve the error handling when writes fail to a swap page. 

Currently, the kernel will repeatedly retry the write which is unlikely
to ever succeed. Instead we allow the pages to be unused and then marked
as bad at which prevents reuse. It should hopefully be suitable for
testing in -mm.

Hugh Dickins (on a previous incarnation of this series):
> No, not this way, I'm afraid.  Sorry, I don't remember the prior
> discussion on LKML, must have flooded past when my attention was
> elsewhere.

I think you were cc'd on some of it but you never commented. Anyhow,
I've reworked this patch series based on your comments. The hints were
appreciated, thanks. This was the way I'd originally hoped to be able to
work things, I just couldn't find the right way to do it.

> Is it worth doing this at all?  Probably, but I've no experience
> whatsoever of swap write errors, so it's hard for me to judge: my
> guess is that many cases would turn out to be software errors (e.g.
> lower level needing more memory to perform the write).  But you'd
> be right to counter: let's assume they're hardware errors, and
> then fix up any software errors when reported.

I have a swap block driver where hardware write errors are more likely
and hence have a need to handle them more gracefully than IO loops. It
seems like a good idea to avoid the IO loops anyway.

> If it is worth doing this, then you'll need to add code to write
> back the swap header, to note the bad pages permanently: you may
> well have been waiting to see what reception the patches so far
> get, before embarking on that.

You can't proceed to do that until you're able to identify the bad pages
so this would be a necessary first step towards that, yes.

> I was uneasy with 2/4, wondered if swap_free(entry, page) would
> be a better direction to go than your swap_free_markbad(entry).

Agreed, see the following 1/4. 

Patch 4/4 in this series is optional but its appended in hope. It cleans
up code at the expense of what looks like a performance optimisation. I
found the code as it stands rather confusing as a newcomer to that code.

Richard


             reply	other threads:[~2007-01-10 18:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-10 18:04 Richard Purdie [this message]
2007-01-10 22:32 ` [PATCH 0/4] Improve swap page error handling Nick Piggin
2007-01-10 23:52   ` Richard Purdie
  -- strict thread matches above, loose matches on Subject: below --
2007-01-08 13:48 Richard Purdie
2007-01-08 19:31 ` Hugh Dickins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1168452294.5801.58.camel@localhost.localdomain \
    --to=richard@openedhand.com \
    --cc=akpm@osdl.org \
    --cc=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox