public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
	Miklos Szeredi <miklos@szeredi.hu>,
	LKML <linux-kernel@vger.kernel.org>,
	pm list <linux-pm@lists.linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks
Date: Sat, 7 Jul 2007 09:50:18 +0200	[thread overview]
Message-ID: <20070707075018.GB2638@elf.ucw.cz> (raw)
In-Reply-To: <200707061012.48998.rjw@sisk.pl>

Hi!

> The main limitation of the freezer is that it cannot handle uninterruptible
> tasks.  Namely, if there are uninterruptible tasks in the system, the freezer
> returns an error, which makes it impossible to suspend the system.
...
> Unfortunately, this mechanism also leads to severe limitations, such as that it
> makes the freezer unable to handle systems using FUSE in a reliable way.
> 
> This patch makes the freezer skip uninterruptible user space tasks (ie. such
> that have an mm of their own) when counting the tasks to be frozen.  As a
> result, these tasks have the TIF_FREEZE and TIF_SIGPENDING flags set, but the
> freezer doesn't wait for them to enter the refrigerator.  Nevertheless, they
> will enter the refrigerator as soon as they change their state.

I don't think we can do that. I suspect rename looks like:

	write directory entry in source
A)	(uninterruptible wait for write)
	write directory entry in destination
	(uninterruptible wait for write)
	write something else

If we freeze some task in place "A)", we'll write to the disk when the
directory write is finished :-(.
									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-07  7:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200707061012.48998.rjw@sisk.pl>
2007-07-06 15:01 ` [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks Alan Stern
2007-07-07  7:50 ` Pavel Machek [this message]
2007-07-07  9:13   ` Nigel Cunningham
     [not found]   ` <200707071913.43482.nigel@nigel.suspend2.net>
2007-07-07 11:31     ` Pavel Machek
2007-07-07 20:44       ` Rafael J. Wysocki
     [not found] <Pine.LNX.4.44L0.0707091043480.3851-100000@iolanthe.rowland.org>
2007-07-09 15:36 ` Jeremy Maitin-Shepard
     [not found] <Pine.LNX.4.44L0.0707061039380.3737-100000@iolanthe.rowland.org>
2007-07-07 23:08 ` Rafael J. Wysocki
     [not found] ` <200707080108.17371.rjw@sisk.pl>
2007-07-08 12:09   ` Pavel Machek
     [not found]   ` <20070708120933.GA3866@ucw.cz>
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-08 18:37   ` Pavel Machek
2007-07-06  8:12 Rafael J. Wysocki

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=20070707075018.GB2638@elf.ucw.cz \
    --to=pavel@ucw.cz \
    --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=rjw@sisk.pl \
    /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