From: Ted Ts'o <tytso@mit.edu>
To: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>,
"linux-ext4@vger.kernel.org development"
<linux-ext4@vger.kernel.org>,
LKML Kernel <linux-kernel@vger.kernel.org>,
pm list <linux-pm@lists.linux-foundation.org>
Subject: Re: Oops while going into hibernate
Date: Thu, 13 Jan 2011 13:46:26 -0500 [thread overview]
Message-ID: <20110113184626.GA31800@thunk.org> (raw)
In-Reply-To: <20110113133612.GD2534@osiris.boeblingen.de.ibm.com>
On Thu, Jan 13, 2011 at 02:36:12PM +0100, Heiko Carstens wrote:
>
> Eeeek... this seems to be an architecture specific bug that is only present
> on s390.
> The dirty bit for user space pages on all architectures but s390 are stored
> into the PTE's. On s390 however they are stored into the storage key that
> exists per _physical_ page.
> So, what we should have done, when implementing suspend/resume on s390, is
> to save the storage key for each page and write that to the suspend device
> and upon resume restore the storage key contents for each physical page.
> The code that would do that is missing... Hence _all_ pages of the resumed
> image are dirty after they have been copied to their location.
> *ouch*
>
> Will fix.
Glad you found the root cause. If you don't think you can get this
fixed quickly, before -rc2 or -rc3, I can fairly quickly add some
checks to ext4 to detect this condition, issue a warning, and then
return an error code from the ->writepages() hook. (Which will then
promptly be ignored by the writeback code, since, hey, what are they
going to do with an error, but that's a discussion for another forum.)
Would that be helpful?
I'm still a bit concerned with the call to set the pages' PTE to be
dirty that I found in the hibernate code, but I accept the fact that
removing it doesn't solve the s390 crash. It still seems wrong to me,
and hopefully someone from linux-pm can look at that more closely.
- Ted
next prev parent reply other threads:[~2011-01-13 18:46 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-12 13:48 Oops while going into hibernate Sebastian Ott
2011-01-12 16:26 ` Ted Ts'o
2011-01-12 16:56 ` Sebastian Ott
2011-01-12 17:26 ` Ted Ts'o
2011-01-12 17:37 ` Sebastian Ott
2011-01-12 18:49 ` Sebastian Ott
2011-01-13 0:44 ` Theodore Tso
2011-01-13 5:56 ` Ted Ts'o
2011-01-13 5:59 ` [PATCH] PM / Hibernate: Don't mark pages dirty when reading pages while thawing Theodore Ts'o
2011-01-13 5:59 ` Theodore Ts'o
2011-01-13 12:36 ` Sebastian Ott
2011-01-13 12:36 ` Sebastian Ott
2011-01-13 5:56 ` Oops while going into hibernate Ted Ts'o
2011-01-13 11:12 ` [linux-pm] " Bojan Smojver
2011-01-13 11:49 ` Sebastian Ott
2011-01-13 11:49 ` Sebastian Ott
2011-01-13 11:12 ` Bojan Smojver
2011-01-13 11:48 ` Sebastian Ott
2011-01-13 12:11 ` [linux-pm] " Bojan Smojver
2011-01-13 12:31 ` Sebastian Ott
2011-01-13 12:31 ` [linux-pm] " Sebastian Ott
2011-01-13 12:11 ` Bojan Smojver
2011-01-13 13:36 ` Heiko Carstens
2011-01-13 13:36 ` Heiko Carstens
2011-01-13 18:46 ` Ted Ts'o [this message]
2011-01-13 21:30 ` [linux-pm] " Bojan Smojver
2011-01-14 9:53 ` Heiko Carstens
2011-01-14 13:14 ` Bojan Smojver
2011-01-14 13:14 ` [linux-pm] " Bojan Smojver
2011-01-14 9:53 ` Heiko Carstens
2011-01-13 21:30 ` Bojan Smojver
2011-01-13 18:46 ` Ted Ts'o
2011-01-13 11:48 ` Sebastian Ott
2011-01-13 0:44 ` Theodore Tso
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=20110113184626.GA31800@thunk.org \
--to=tytso@mit.edu \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=sebott@linux.vnet.ibm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.