lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1907221145440.1782@nanos.tec.linutronix.de>
Date:   Mon, 22 Jul 2019 11:46:29 +0200 (CEST)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     "Rafael J. Wysocki" <rjw@...ysocki.net>
cc:     Linux PM <linux-pm@...r.kernel.org>,
        Linux ACPI <linux-acpi@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Len Brown <len.brown@...el.com>,
        Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
        Rajneesh Bhardwaj <rajneesh.bhardwaj@...ux.intel.com>,
        "David E. Box" <david.e.box@...ux.intel.com>
Subject: Re: [PATCH 0/8] PM / ACPI: sleep: Simplify the suspend-to-idle
 control flow

On Tue, 16 Jul 2019, Rafael J. Wysocki wrote:

> Hi All,
> 
> The rationale for these changes is explained in the changelog of patch [6/8] as follows:
> 
> "After commit 33e4f80ee69b ("ACPI / PM: Ignore spurious SCI wakeups
> from suspend-to-idle") the "noirq" phases of device suspend and
> resume may run for multiple times during suspend-to-idle, if there
> are spurious system wakeup events while suspended.  However, this
> is complicated and fragile and actually unnecessary.
> 
> The main reason for doing this is that on some systems the EC may
> signal system wakeup events (power button events, for example) as
> well as events that should not cause the system to resume (spurious
> system wakeup events).  Thus, in order to determine whether or not
> a given event signaled by the EC while suspended is a proper system
> wakeup one, the EC GPE needs to be dispatched and to start with that
> was achieved by allowing the ACPI SCI action handler to run, which
> was only possible after calling resume_device_irqs().
> 
> However, dispatching the EC GPE this way turned out to take too much
> time in some cases and some EC events might be missed due to that, so
> commit 68e22011856f ("ACPI: EC: Dispatch the EC GPE directly on
> s2idle wake") started to dispatch the EC GPE right after a wakeup
> event has been detected, so in fact the full ACPI SCI action handler
> doesn't need to run any more to deal with the wakeups coming from the
> EC.
> 
> Use this observation to simplify the suspend-to-idle control flow
> so that the "noirq" phases of device suspend and resume are each
> run only once in every suspend-to-idle cycle, which is reported to
> significantly reduce power drawn by some systems when suspended to
> idle (by allowing them to reach a deep platform-wide low-power state
> through the suspend-to-idle flow)."
> 
> A bonus is that after the essential changes the s2idle flow can be
> integrated back into the generic suspend/resume one (patch [7/8])
> and some simplifications can be made in drivers/base/power/main.c
> after that (patch [8/8]).

Nice work!

Acked-by: Thomas Gleixner <tglx@...utronix.de>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ