All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Neukum <oliver@neukum.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: pm list <linux-pm@lists.osdl.org>,
	linux-kernel@vger.kernel.org, Pavel Machek <pavel@ucw.cz>
Subject: Re: question on resume()
Date: Wed, 31 Jan 2007 17:12:51 +0100 (MET)	[thread overview]
Message-ID: <200701311713.04104.oliver@neukum.org> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0701311048560.3803-100000@iolanthe.rowland.org>

Am Mittwoch, 31. Januar 2007 16:54 schrieb Alan Stern:
> On Wed, 31 Jan 2007, Pavel Machek wrote:

> > "cease IO"? No, I believe it is enough not to start new I/O. Userspace
> > is frozen at that point, it can't ask you to do I/O.
> 
> There may be I/O requests sitting in a queue, already submitted by
> userspace.  The suspend method should wait for existing I/O to complete
> and stop processing new entries from the queue.

As far as I understand it now, a frozen process will be in the refrigerator.
Thus it cannot be blocking somewhere else in kernel space. Yet we cannot
be sure there's no queued IO, as theres aio.


> > > On resume():
> > > 
> > > 1. Don't worry about TASK_UNINTERRUPTIBLE
> > > 2. Do not restart IO that may call wake_up_interruptible()
> > > 
> > > When do we restart such IO?
> > 
> > We reuse signal handling code to do that for us. It is same situation
> > as when someone signals task doing I/O.
> 
> Again you misunderstood the question.  The driver must start queued I/O
> when its resume() method is called.  It should then be okay for the driver
> to call wake_up_interruptible(), even before tasks are unfrozen.

Isn't there some code in usbfs that'll do homegrown aio and deliver a
signal to a process if io is completed?

	Regards
		Oliver

WARNING: multiple messages have this Message-ID (diff)
From: Oliver Neukum <oliver@neukum.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Pavel Machek <pavel@ucw.cz>, "Rafael J. Wysocki" <rjw@sisk.pl>,
	pm list <linux-pm@lists.osdl.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [linux-pm] question on resume()
Date: Wed, 31 Jan 2007 17:12:51 +0100 (MET)	[thread overview]
Message-ID: <200701311713.04104.oliver@neukum.org> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0701311048560.3803-100000@iolanthe.rowland.org>

Am Mittwoch, 31. Januar 2007 16:54 schrieb Alan Stern:
> On Wed, 31 Jan 2007, Pavel Machek wrote:

> > "cease IO"? No, I believe it is enough not to start new I/O. Userspace
> > is frozen at that point, it can't ask you to do I/O.
> 
> There may be I/O requests sitting in a queue, already submitted by
> userspace.  The suspend method should wait for existing I/O to complete
> and stop processing new entries from the queue.

As far as I understand it now, a frozen process will be in the refrigerator.
Thus it cannot be blocking somewhere else in kernel space. Yet we cannot
be sure there's no queued IO, as theres aio.


> > > On resume():
> > > 
> > > 1. Don't worry about TASK_UNINTERRUPTIBLE
> > > 2. Do not restart IO that may call wake_up_interruptible()
> > > 
> > > When do we restart such IO?
> > 
> > We reuse signal handling code to do that for us. It is same situation
> > as when someone signals task doing I/O.
> 
> Again you misunderstood the question.  The driver must start queued I/O
> when its resume() method is called.  It should then be okay for the driver
> to call wake_up_interruptible(), even before tasks are unfrozen.

Isn't there some code in usbfs that'll do homegrown aio and deliver a
signal to a process if io is completed?

	Regards
		Oliver

  reply	other threads:[~2007-01-31 16:12 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-29 11:06 question on resume() Oliver Neukum
2007-01-29 11:24 ` Nigel Cunningham
2007-01-29 11:34   ` Oliver Neukum
2007-01-29 20:14     ` Nigel Cunningham
2007-01-29 21:04       ` Oliver Neukum
2007-01-29 21:21         ` Nigel Cunningham
2007-01-29 23:10           ` Rafael J. Wysocki
2007-01-30 16:32             ` Rafael J. Wysocki
2007-01-30 16:50               ` Oliver Neukum
2007-01-30 22:32                 ` Rafael J. Wysocki
2007-01-30 22:32                   ` Rafael J. Wysocki
2007-01-31  8:33                   ` Rafael J. Wysocki
2007-01-31  8:33                     ` Rafael J. Wysocki
2007-01-31  8:40                     ` Oliver Neukum
2007-01-31  8:40                       ` Oliver Neukum
2007-01-31  8:49                       ` Rafael J. Wysocki
2007-01-31  9:04                         ` Oliver Neukum
2007-01-31  9:04                           ` Oliver Neukum
2007-01-31  9:36                           ` Pavel Machek
2007-01-31  9:36                             ` [linux-pm] " Pavel Machek
2007-01-31 10:14                             ` Oliver Neukum
2007-01-31 10:14                               ` [linux-pm] " Oliver Neukum
2007-01-31 10:30                               ` Pavel Machek
2007-01-31 15:54                             ` Alan Stern
2007-01-31 15:54                               ` [linux-pm] " Alan Stern
2007-01-31 16:12                               ` Oliver Neukum [this message]
2007-01-31 16:12                                 ` Oliver Neukum
2007-01-31 16:27                                 ` Alan Stern
2007-01-31 16:27                                   ` [linux-pm] " Alan Stern
2007-01-31 18:04                               ` Woodruff, Richard
2007-01-31 18:04                                 ` [linux-pm] " Woodruff, Richard
2007-01-31 15:48                     ` Alan Stern
2007-01-31 15:48                       ` [linux-pm] " Alan Stern
2007-01-31 18:52                       ` 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=200701311713.04104.oliver@neukum.org \
    --to=oliver@neukum.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.osdl.org \
    --cc=pavel@ucw.cz \
    --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 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.