On Wed, Jun 29, 2022 at 07:34:58PM +0200, Jason A. Donenfeld wrote:
On Wed, Jun 29, 2022 at 06:38:09PM +0200, Jason A. Donenfeld wrote:
On the technical topic, an Android developer friend following this thread just pointed out to me that Android doesn't use PM_AUTOSLEEP and just has userspace causing suspend frequently. So by his rough estimation your patch actually *will* break Android devices. Zoinks. Maybe he's right, maybe he's not -- I don't know -- but you should probably look into this if you want this patch to land without breakage.
More details: https://cs.android.com/android/platform/superproject/+/master:system/core/li...
So indeed it looks like it's userspace controlled. If you want this to be a runtime, rather than a compiletime, switch, maybe autosuspend_init() of that file could write to a sysctl.
Who at Google "owns" that code? Can somebody CC them in?
Hi Jason,
Thanks for raising this.
Android no longer uses PM_AUTOSLEEP, is correct. libsuspend is also now deprecated. Android autosuspend is initiatiated from the userspace system suspend service [1].
A runtime config sounds more reasonable since in the !PM_AUTOSLEEP case, it is userspace which decides the suspend policy.
[1] https://cs.android.com/android/platform/superproject/+/bf3906ecb33c98ff8edd9...
--Kalesh
Jason