Re: [linux-pm] suspend blockers & Android integration

From: Neil Brown
Date: Wed Jun 09 2010 - 18:04:54 EST


On Wed, 9 Jun 2010 11:40:27 +0200
"Rafael J. Wysocki" <rjw@xxxxxxx> wrote:

> On Wednesday 09 June 2010, Felipe Contreras wrote:
> > On Wed, Jun 9, 2010 at 6:46 AM, Linus Torvalds
> > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > On Tue, 8 Jun 2010, david@xxxxxxx wrote:
> > >>
> > >> having suspend blockers inside the kernel adds significant complexity, it's
> > >> worth it only if the complexity buys you enough. In this case the question is
> > >> if the suspend blockers would extend the sleep time enough more to matter. As
> > >> per my other e-mail, this is an area with rapidly diminishing returns as the
> > >> sleep times get longer.
> > >
> > > Well, the counter-argument that nobody seems to have brought up is that
> > > suspend blockers exist, are real code, and end up being shipped in a lot
> > > of machines.
> > >
> > > That's a _big_ argument in favour of them. Certainly much bigger than
> > > arguing against them based on some complexity-arguments for an alternative
> > > that hasn't seen any testing at all.
> > >
> > > IOW, I would seriously hope that this discussion was more about real code
> > > that _exists_ and does what people need. It seems to have degenerated into
> > > something else.
> > >
> > > Because in the end, "code talks, bullshit walks". People can complain and
> > > suggest alternatives all they want, but you can't just argue. At some
> > > point you need to show the code that actually solves the problem.
> >
> > That's assuming there is an actual problem, which according to all the
> > embedded people except android, there is not.
>
> Yes, there is, but they've decided to ignore it.
>
> > And if there is indeed such a problem (probably not big), it might be
> > solved properly by the time suspend blockers are merged, or few
> > releases after.
>
> Not quite. Have you followed all of the discussion, actually?
>
> > Whatever the solution (or workaround) is, it would be nice if it could
> > be used by more than just android people, and it would also be nice to
> > do it without introducing user-space API that *nobody* likes and might
> > be quickly deprecated.
>
> I agree with Linus and I don't have that much of a problem with the API that
> people seem to have. In fact the much-hated user space API is just a char
> device driver with 3 ioctls (that can be extended in future if need be) and
> the kernel API is acceptable to me.

I think there is a little bit more to it than that. It seems there is a new
ioctl for input/event devices to say "Any events queued here should be
treated as wake-up events". There may be similar additions to other devices,
but I know of no details.

I wonder if we can get a complete statement of changes to the user-space
API...

> Yes, there is some overlap between it
> and PM QoS, but IMhO that overlap may be reduced over time (eg. by
> using PM QoS requirements to implement suspend blockers).
>
> To me, the question boils down to whether or not we're able to persuade the
> Android people to use any other approach (eg. by demonstrating that something
> else is actually better), because even if we invent a brilliant new approach,
> but Android ends up using its old one anyway, the net result will be as though
> we haven't done anything useful.

Yes. There is no point unless we can meet somewhere in the middle. I think
that would have to include a full suspend that freezes all processes.
Solutions which reject that - while quite clever - would require too much
change to Android user-space to be acceptable.

NeilBrown

>
> Rafael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/