• Colin Cross's avatar
    freezer: skip waking up tasks with PF_FREEZER_SKIP set · 613f5d13
    Colin Cross authored
    Android goes through suspend/resume very often (every few seconds when
    on a busy wifi network with the screen off), and a significant portion
    of the energy used to go in and out of suspend is spent in the
    freezer.  If a task has called freezer_do_not_count(), don't bother
    waking it up.  If it happens to wake up later it will call
    freezer_count() and immediately enter the refrigerator.
    Combined with patches to convert freezable helpers to use
    freezer_do_not_count() and convert common sites where idle userspace
    tasks are blocked to use the freezable helpers, this reduces the
    time and energy required to suspend and resume.
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarPavel Machek <pavel@ucw.cz>
    Signed-off-by: default avatarColin Cross <ccross@android.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
freezer.c 4.43 KB