Re: [PATCH 1/8] PM: Add suspend block api.

Tony Lindgren
2010-05-07T17:35:49Z

* Matthew Garrett <mjg@redhat.com> [100507 10:08]:
> On Thu, May 06, 2010 at 07:05:41PM -0700, Tony Lindgren wrote:
> > * Matthew Garrett <mjg@redhat.com> [100506 11:39]:
> > > And the untrusted userspace code that's waiting for a network packet?
> > > Adding a few seconds of latency isn't an option here.
> >
> > Hmm well hitting retention and wake you can basically do between
> > jiffies. Hitting off mode in idle has way longer latencies,
> > but still in few hundred milliseconds or so, not seconds.
>
> The situation is this. You've frozen most of your userspace because you
> don't trust the applications. One of those applications has an open
> network socket, and policy indicates that receiving a network packet
> should generate a wakeup, allow the userspace application to handle the
> packet and then return to sleep. What mechanism do you use to do that?

I think the ideal way of doing this would be to have the system running
and hitting some deeper idle states using cpuidle. Then fix the apps
so timers don't wake up the system too often. Then everything would
just run in a normal way.

For the misbehaving stopped apps, maybe they could be woken
to deal with the incoming network data with sysfs_notify?

Regards,

Tony