public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	pm list <linux-pm@lists.linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Nigel Cunningham <nigel@nigel.suspend2.net>,
	Oliver Neukum <oliver@neukum.org>,
	Miklos Szeredi <miklos@szeredi.hu>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks
Date: Sun, 8 Jul 2007 18:37:41 +0000	[thread overview]
Message-ID: <20070708183741.GA4891@ucw.cz> (raw)
In-Reply-To: <200707080108.17371.rjw@sisk.pl>

Hi!

> > And then you will face the problem of a user task doing I/O during 
> > hibernate after the atomic snapshot has been made.
> 
> I don't think that this is possible in normal conditions.  It would be possible
> if, for example, the task were waiting for an unavailable resource and that
> resource became available after the hibernation image had been created.
> In that case, however, to do any damage, the task would have to cause some
> filesystem-related data to be flushed in the same syscall (ie. before returning
> to user space).
> 
> Such situations may be prevented by a mechanizm detecting if any uniterruptible
> and freezing task has been woken up after creating the image and aborting the
> hibernation in that cases.  For this purpose, we only need to add an
> appropriate condition to try_to_wake_up() and make it start to trigger after,
> for example, enabling the nonboot CPUs.

Hmm, okay, I see how you meant it. Yes, it probably could work... but
I'd say it is seriously ugly.

Imagine task waking up after complete image is written... we'd have to
invalidate the image before aborting the suspend.

Actually, we could do better: we could just refuse to run those tasks
after atomic snapshot... and hope we don't deadlock,because the
uninterruptible task holds some important lock... but I still think it
is too ugly.
							Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  parent reply	other threads:[~2007-07-08 18:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-06  8:12 [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks Rafael J. Wysocki
2007-07-06 15:01 ` Alan Stern
2007-07-07 23:08   ` Rafael J. Wysocki
2007-07-08 12:09     ` Pavel Machek
2007-07-08 13:55       ` Rafael J. Wysocki
2007-07-09  4:21       ` Jeremy Maitin-Shepard
2007-07-09 14:45         ` Alan Stern
2007-07-09 15:36           ` Jeremy Maitin-Shepard
2007-07-08 18:37     ` Pavel Machek [this message]
2007-07-07  7:50 ` Pavel Machek
2007-07-07  9:13   ` Nigel Cunningham
2007-07-07 11:31     ` Pavel Machek
2007-07-07 20:44       ` Rafael J. Wysocki
  -- strict thread matches above, loose matches on Subject: below --
2007-07-06 20:26 Oleg Nesterov
2007-07-06 22:38 ` Oliver Neukum
2007-07-06 23:00   ` Rafael J. Wysocki
2007-07-07 23:08     ` Rafael J. Wysocki
2007-07-06 22:56 ` Rafael J. Wysocki
2007-07-06 23:46   ` Nigel Cunningham

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=20070708183741.GA4891@ucw.cz \
    --to=pavel@ucw.cz \
    --cc=benh@kernel.crashing.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=miklos@szeredi.hu \
    --cc=mingo@elte.hu \
    --cc=mjg59@srcf.ucam.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=oliver@neukum.org \
    --cc=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    /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