All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: "Bartłomiej Zimoń" <uzi18@o2.pl>
Cc: awalls@radix.net, linux-pm@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, danborkmann@googlemail.com
Subject: Re: [suspend/resume] Re: userspace notification from module
Date: Mon, 4 Jan 2010 00:45:39 +0100	[thread overview]
Message-ID: <201001040045.39517.rjw__39945.3558297411$1262562368$gmane$org@sisk.pl> (raw)
In-Reply-To: <54ac764e.502c1a33.4b4129c3.9dc1b@o2.pl>

On Monday 04 January 2010, Bartłomiej Zimoń wrote:
> Dnia 4 stycznia 2010 0:30 "Rafael J. Wysocki" <rjw@sisk.pl> napisał(a):
> 
> > On Sunday 03 January 2010, Bartłomiej Zimoń wrote:
> > > Dnia 3 stycznia 2010 22:29 "Rafael J. Wysocki" <rjw@sisk.pl> napisał(a):
> > ...
> > > 
> > > It could be even UIO module but there are no pm events reachable there?
> > > 
> > > If it is not clean, we must extend pm-utils or write something new
> > > (with backends dbus, ipc, scripts, ...)
> > > But You see? We still have no information from kernel about events 
> > > (especialy resume) or maybe i dont see this ;/
> > 
> > They are available to the process that tells the kernel to suspend.
> > 
> > Namely, to tell the kernel to suspend to RAM, the process (call it a power
> > manager) needs to (for example) fprintf() "mem" to /sys/power/state.  As soon
> > as this happens, the kernel will start to freeze processes (except for the
> > power manager itself), so the power manager knows that everything should be
> > ready for the suspend before it writes to /sys/power/state.  It doesn't need
> > the kernel to tell it when the suspend is going to start, because it _knows_
> > that in advance.
> > 
> > Now, the fprintf() used to trigger the suspend will not return until the resume
> > is complete.  So, again, when the fprintf() returns, the power manager will know
> > that the resume has just finished (more precisely, the kernel side of it has
> > just finished).
> > 
> > There simply is no need for any special communication between the kernel and
> > the power manager.
> > 
> 
> Thx Rafael - now it clear to me.
> And what do You think about sending extra signals to processes?

I don't see a problem with this in principle, although I don't think signals
are very suitable for this particular purpose, because you need two-way
communication between the power manager and the processes it's going to
notify (because it has to wait for the processes to finish their preparations
and to tell it that they are ready).

For this purpose it's better to have a file descriptor you can block on (like a
socket or a pipe) while the other side is doing it's job.

Rafael
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

  reply	other threads:[~2010-01-03 23:45 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-02 13:29 userspace notification from module Bartłomiej Zimoń
2010-01-02 14:04 ` Daniel Borkmann
2010-01-02 14:27   ` [suspend/resume] " Bartłomiej Zimoń
2010-01-02 15:11     ` Oliver Neukum
     [not found]     ` <6f52f5b81001020713j5435cfadr1143806a9026adc2@mail.gmail.com>
2010-01-02 15:15       ` Daniel Borkmann
2010-01-02 15:40         ` Andy Walls
2010-01-02 15:56           ` Daniel Borkmann
2010-01-02 18:26             ` Bartłomiej Zimoń
2010-01-02 21:01               ` Rafael J. Wysocki
     [not found]                 ` <7cf4f51f.5fc2a5cd.4b3fc3ad.c849c@o2.pl>
2010-01-02 23:29                   ` Rafael J. Wysocki
2010-01-02 23:29                     ` Rafael J. Wysocki
2010-01-03  1:03                     ` Bartłomiej Zimoń
2010-01-03  9:30                       ` Daniel Borkmann
2010-01-03  9:30                       ` Daniel Borkmann
2010-01-03 10:06                         ` Daniel Borkmann
2010-01-03 10:06                         ` Daniel Borkmann
2010-01-03 11:01                           ` Bartłomiej Zimoń
2010-01-03 21:49                             ` Rafael J. Wysocki
2010-01-03 21:49                             ` Rafael J. Wysocki
2010-01-04 13:38                               ` Stefan Seyfried
2010-01-04 13:38                               ` Stefan Seyfried
2010-01-03 21:33                         ` Rafael J. Wysocki
2010-01-03 21:33                         ` Rafael J. Wysocki
2010-01-03 21:29                       ` Rafael J. Wysocki
2010-01-03 21:29                       ` Rafael J. Wysocki
2010-01-03 22:53                         ` Bartłomiej Zimoń
2010-01-03 23:30                           ` Rafael J. Wysocki
2010-01-03 23:30                           ` Rafael J. Wysocki
2010-01-03 23:35                             ` Bartłomiej Zimoń
2010-01-03 23:45                               ` Rafael J. Wysocki [this message]
2010-01-03 23:45                               ` Rafael J. Wysocki
2010-01-04  0:51                                 ` Bartłomiej Zimoń
2010-01-04  0:51                                 ` Bartłomiej Zimoń
2010-01-04  1:06                                   ` Bartłomiej Zimoń
2010-01-04 19:43                                   ` Rafael J. Wysocki
2010-01-05  9:07                                     ` [linux-pm] " Anders Eriksson
2010-01-05 21:02                                       ` Bartłomiej Zimoń
2010-01-05 21:23                                         ` [linux-pm] " Rafael J. Wysocki
2010-01-05 22:12                                           ` Bartłomiej Zimoń
2010-01-05 22:12                                           ` [linux-pm] " Bartłomiej Zimoń
2010-01-05 23:03                                             ` Rafael J. Wysocki
2010-01-05 23:03                                             ` [linux-pm] " Rafael J. Wysocki
2010-01-05 23:37                                               ` Bartłomiej Zimoń
2010-01-06 14:35                                                 ` [linux-pm] " Anders Eriksson
2010-01-06 20:37                                                   ` [linux-pm] [suspend/resume] Re: userspace notific ation " Bartłomiej Zimoń
2010-01-06 20:49                                                     ` Roland Dreier
2010-01-06 20:56                                                       ` Roland Dreier
2010-01-06 20:56                                                       ` Roland Dreier
2010-01-06 20:49                                                     ` Roland Dreier
2010-01-06 20:37                                                   ` Bartłomiej Zimoń
2010-01-15 20:02                                                   ` [suspend/resume] Re: userspace notification " Pavel Machek
2010-01-15 20:02                                                   ` [linux-pm] " Pavel Machek
2010-01-06 14:35                                                 ` Anders Eriksson
2010-01-05 21:23                                         ` Rafael J. Wysocki
2010-01-05 21:26                                       ` [linux-pm] " Stefan Seyfried
2010-01-05 22:22                                         ` Bartłomiej Zimoń
2010-01-05 23:05                                           ` Rafael J. Wysocki
2010-01-05 23:05                                           ` [linux-pm] " Rafael J. Wysocki
2010-01-06  0:43                                             ` Bartłomiej Zimoń
2010-01-06 10:10                                           ` Stefan Seyfried
2010-01-05 21:26                                       ` Stefan Seyfried
2010-01-05  9:07                                     ` Anders Eriksson
2010-01-04 19:43                                   ` Rafael J. Wysocki
2010-01-04 12:46                                 ` Daniel Borkmann
2010-01-04 19:45                                   ` Rafael J. Wysocki
2010-01-04 19:45                                   ` Rafael J. Wysocki
2010-01-04 12:46                                 ` Daniel Borkmann
2010-01-03 23:35                             ` Bartłomiej Zimoń
2010-01-03 17:20                     ` Bartłomiej Zimoń
2010-01-03 17:20                     ` Bartłomiej Zimoń
2010-01-03 21:50                       ` Rafael J. Wysocki
2010-01-03 21:50                       ` Rafael J. Wysocki
2010-01-09 10:32                 ` Pavel Machek
2010-01-09 13:40                   ` Rafael J. Wysocki
2010-01-15 20:03                     ` Pavel Machek
2010-01-15 20:03                       ` Pavel Machek
2010-01-15 22:14                       ` Rafael J. Wysocki
2010-01-15 22:14                         ` Rafael J. Wysocki
2010-01-16  3:00                         ` Eric Miao
2010-01-16  3:00                           ` Eric Miao
2010-01-16 17:00                           ` Stanislav Brabec
2010-01-16 17:00                             ` Stanislav Brabec
2010-01-16 18:12                             ` Pavel Machek
2010-01-16 18:12                               ` Pavel Machek
2010-01-16 22:05                               ` Rafael J. Wysocki
2010-01-16 22:05                                 ` Rafael J. Wysocki
2010-01-16 22:19                                 ` Pavel Machek
2010-01-16 22:19                                   ` Pavel Machek
2010-01-16 22:25                                   ` Pavel Machek
2010-01-16 22:25                                     ` Pavel Machek
2010-01-16 22:31                                     ` Rafael J. Wysocki
2010-01-16 22:31                                       ` Rafael J. Wysocki
2010-01-16 22:26                                   ` Rafael J. Wysocki
2010-01-16 22:26                                     ` Rafael J. Wysocki
2010-01-17 13:07                                     ` Pavel Machek
2010-01-17 13:07                                       ` Pavel Machek
2010-01-17 13:26                                       ` Russell King - ARM Linux
2010-01-17 13:26                                         ` Russell King - ARM Linux
2010-01-19  5:15                                         ` Pavel Machek
2010-01-19  5:15                                           ` Pavel Machek
2010-01-16 22:32                                 ` Russell King - ARM Linux
2010-01-16 22:32                                   ` Russell King - ARM Linux
2010-01-16 18:12                           ` Pavel Machek
2010-01-16 18:12                             ` Pavel Machek
2010-01-16 18:12                         ` Pavel Machek
2010-01-16 18:12                           ` Pavel Machek
2010-01-16 22:07                           ` Rafael J. Wysocki
2010-01-16 22:07                             ` Rafael J. Wysocki
2010-01-16 22:14                             ` Pavel Machek
2010-01-16 22:14                               ` Pavel Machek
2010-01-16 22:21                               ` Rafael J. Wysocki
2010-01-16 22:21                                 ` Rafael J. Wysocki
2010-01-02 21:20               ` Bartłomiej Zimoń
2010-01-02 14:31   ` Bartłomiej Zimoń
2010-01-02 22:34 Bartłomiej Zimoń
2010-01-03  8:31 Bartłomiej Zimoń
2010-01-03 11:06 Bartłomiej Zimoń
2010-01-03 23:17 Bartłomiej Zimoń
2010-01-03 23:17 Bartłomiej Zimoń
2010-01-06  1:05 [linux-pm] " Bartłomiej Zimoń
2010-01-06 22:48 ` Rafael J. Wysocki
2010-01-06  1:05 Bartłomiej Zimoń

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='201001040045.39517.rjw__39945.3558297411$1262562368$gmane$org@sisk.pl' \
    --to=rjw@sisk.pl \
    --cc=awalls@radix.net \
    --cc=danborkmann@googlemail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=uzi18@o2.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 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.