Re: [linux-pm] [PATCH] - race-free suspend. Was: Re: [PATCH 0/8] Suspend block api (version 8)
On Thu, Jun 3, 2010 at 6:36 AM, mark gross <640e9...@gmail.com> wrote: > On Wed, Jun 02, 2010 at 11:12:39PM -0700, Brian Swetland wrote: >> On Wed, Jun 2, 2010 at 11:04 PM, mark gross <640e9...@gmail.com> wrote: >> >> >> >> There are many wakeup events possible in a typical system -- >> >> keypresses or other input events, network traffic, telephony events, >> >> media events (fill audio buffer, fill video decoder buffer, etc), and >> >> I think requiring that all wakeup event processing bottleneck through >> >> a single userspace process is non-optimal here. >> > >> > Um doesn't the android framework bottleneck the user mode lock >> > processing through the powermanager and any wake up event processing >> > eventually has to grab a lock through this bottleneck anyway? >> >> For "high level" framework/application level wakelocks, yes, but lower >> level components beneath the java api layer use the kernel interface >> directly. >> > Oh. I thought everything went through > hardware/libhardware_legacy/power/power.c > who else is hitting /sys/power/* in the android user mode then? I believe everything does -- that's the thin wrapper around the kernel interface (which will have to change slightly to meet the suspend_blocker device/fd vs wakelock proc/sys interface, etc), which is used by the powermanager service, the RIL, and any other low level code. At the App/Service level, wakelocks are provided by a java level API that is a remote interface to the powermanager. Brian -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-pm] [PATCH] - race-free suspend. Was: Re: [PATCH 0/8] Suspend block api (version 8)
On Wed, Jun 02, 2010 at 11:12:39PM -0700, Brian Swetland wrote: > On Wed, Jun 2, 2010 at 11:04 PM, mark gross <640e9...@gmail.com> wrote: > >> > >> There are many wakeup events possible in a typical system -- > >> keypresses or other input events, network traffic, telephony events, > >> media events (fill audio buffer, fill video decoder buffer, etc), and > >> I think requiring that all wakeup event processing bottleneck through > >> a single userspace process is non-optimal here. > > > > Um doesn't the android framework bottleneck the user mode lock > > processing through the powermanager and any wake up event processing > > eventually has to grab a lock through this bottleneck anyway? > > For "high level" framework/application level wakelocks, yes, but lower > level components beneath the java api layer use the kernel interface > directly. > Oh. I thought everything went through hardware/libhardware_legacy/power/power.c who else is hitting /sys/power/* in the android user mode then? I'll have to go hunting for them I guess. --mgross -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-pm] [PATCH] - race-free suspend. Was: Re: [PATCH 0/8] Suspend block api (version 8)
On Wed, Jun 2, 2010 at 11:04 PM, mark gross <640e9...@gmail.com> wrote: >> >> There are many wakeup events possible in a typical system -- >> keypresses or other input events, network traffic, telephony events, >> media events (fill audio buffer, fill video decoder buffer, etc), and >> I think requiring that all wakeup event processing bottleneck through >> a single userspace process is non-optimal here. > > Um doesn't the android framework bottleneck the user mode lock > processing through the powermanager and any wake up event processing > eventually has to grab a lock through this bottleneck anyway? For "high level" framework/application level wakelocks, yes, but lower level components beneath the java api layer use the kernel interface directly. Brian -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [linux-pm] [PATCH] - race-free suspend. Was: Re: [PATCH 0/8] Suspend block api (version 8)
On Wed, Jun 02, 2010 at 11:05:18AM -0700, Brian Swetland wrote: > On Wed, Jun 2, 2010 at 1:06 AM, Neil Brown wrote: > > On Wed, 2 Jun 2010 00:05:14 -0700 > > Arve Hjønnevåg wrote: > >> > The user-space suspend daemon avoids losing wake-events by using > >> > fcntl(F_OWNER) to ensure it gets a signal whenever any important > >> > wake-event > >> > is ready to be read by user-space. This may involve: > >> > - the one daemon processing all wake events > >> > >> Wake up events are not all processed by one daemon. > > > > Not with your current user-space code, no. Are you saying that you are not > > open to any significant change in the Android user-space code? That would > > make the situation a lot harder to resolve. > > There are many wakeup events possible in a typical system -- > keypresses or other input events, network traffic, telephony events, > media events (fill audio buffer, fill video decoder buffer, etc), and > I think requiring that all wakeup event processing bottleneck through > a single userspace process is non-optimal here. Um doesn't the android framework bottleneck the user mode lock processing through the powermanager and any wake up event processing eventually has to grab a lock through this bottleneck anyway? > > The current suspend-blocker proposal already involves userspace > changes (it's different than our existing wakelock interface), and > we're certainly not opposed to any/all userspace changes on principle, > but on the other hand we're not interested in significant reworks of > userspace unless they actually improve the situation somehow. I think > bottlenecking events through a central daemon would represent a step > backwards. I'm not sure its a step in any direction, but I do understand the avoidance of having to rework a lot of code. --mgross -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html