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

From: Pavel Machek
Date: Mon May 03 2010 - 15:01:55 EST


Hi!

> > > > As I explained before (and got no reply), the proposed interface is
> > > > ugly. It uses one sysfs file to change semantics of another one.
> > >
> > > In fact this behavior was discussed at the LF Collab Summit and no one
> > > involved had any problem with that.
> >
> > Well, I explained why I disliked in previous mail in more details,
>
> We do exactly the same thing with 'pm_test', so I'm not sure what the problem is.
>
> > and neither you nor Arve explained why it is good solution.
>
> Because it's less confusing. Having two different attributes returning
> almost the same contents and working in a slightly different way wouldn't be
> too clean IMO.

No, I don't think it is similar to pm_test. pm_test is debug-only, and
orthogonal to state -- all combinations make sense.

With 'oportunistic > policy', state changes from blocking to
nonblocking (surprise!). Plus, it is not orthogonal:

(assume we added s-t-flash on android for powersaving... or imagine I
get oportunistic suspend working on PC --I was there with limited
config on x60).

policy: oportunistic forced

state: on mem disk

First disadvantage of proposed interface is that while 'opportunistic
mem' is active, I can't do 'forced disk' to save bit more power.

Next, not all combinations make sense.

oportunistic on == forced <nothing>

oportunistic disk -- probably something that will not be implemented
any time soon.

oportunistic mem -- makes sense.

forced on -- NOP

forced mem -- makes sense.

forced disk -- makes sense.

So we have matrix of 7 possibilities, but only 4 make sense... IMO its confusing.



Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/