Messages in this thread | | | Date | Tue, 1 Jun 2010 20:10:15 -0700 | Subject | Re: [linux-pm] [RFC] lp_events: an lternitive to suspend blocker user mode and kernel API | From | Arve Hjønnevåg <> |
| |
2010/6/1 mark gross <640e9920@gmail.com>: > On Mon, May 31, 2010 at 10:24:30PM -0700, Arve Hjønnevåg wrote: >> On Mon, May 31, 2010 at 10:09 PM, mark gross <640e9920@gmail.com> wrote: >> > On Tue, Jun 01, 2010 at 12:45:21AM +0200, Rafael J. Wysocki wrote: >> >> On Tuesday 01 June 2010, mark gross wrote: >> >> > On Mon, May 31, 2010 at 09:57:53AM +1000, Neil Brown wrote: >> >> ... >> >> > > So I would suggest modifying your proposal to simply create a new 'input' >> >> > > device. Any driver that supports wake-from-suspend queues an event to that >> >> > > device when a wakeup event occurs. If the device is open and has any queued >> >> > > events, then a suspend request such as 'echo mem > /sys/power/state' completes >> >> > > without going into full suspend. >> >> > >> >> > /me likes. >> >> > >> >> > > Then you just need to convince us that this mechanism can be used without any >> >> > > race problems. If it can, then it would certainly be a simple and >> >> > > unobtrusive approach. >> >> > >> >> > Lets find out. >> >> >> >> Simple question: how is that better than the Alan Stern's proposed approach? >> >> >> > I just saw Alan Stern's proposal, and have gotten some input form some >> > others. I can't say my patch represents a better Idea than what Alan >> > proposed. However; what Alan (and Thomas) are talking about is >> > effectively the same as the kenrel mode wakelock/suspend blocker thing, >> > and although it reuses existing infrastructure, it doesn't solve the >> > problem of needing overlapping blocking sections of code from ISR to >> > user mode. >> > >> >> I don't think your solution solves this either. > > Why? my proposal effectively removes the overlapping kernel blocking > sections uppon wake up by forcing the user mode to ack the wake event > and re-issue the suspend request explicitly. That pretty much solves > that problem. >
How to you ack the wakeup event in a safe way. Another wakeup event can come in after you decided to ack the last event. Also when the user-space power manager reads that there was a wakeup event, how does it know if the real event has been delivered to user-space, and if the user-space code that consumed this event has had a chance to block suspend?
> We can talk about whether or not it can be used effectively with Android > user mode PM or not, which I still think it can, but I need to try the > mods to power.c. >
-- Arve Hjønnevåg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |