[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201001040045.39517.rjw@sisk.pl>
Date: Mon, 4 Jan 2010 00:45:39 +0100
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Bartłomiej Zimoń <uzi18@...pl>
Cc: linux-kernel@...r.kernel.org, awalls@...ix.net,
danborkmann@...glemail.com, linux-pm@...ts.linux-foundation.org,
stern@...land.harvard.edu
Subject: Re: [suspend/resume] Re: userspace notification from module
On Monday 04 January 2010, Bartłomiej Zimoń wrote:
> Dnia 4 stycznia 2010 0:30 "Rafael J. Wysocki" <rjw@...k.pl> napisał(a):
>
> > On Sunday 03 January 2010, Bartłomiej Zimoń wrote:
> > > Dnia 3 stycznia 2010 22:29 "Rafael J. Wysocki" <rjw@...k.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists