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>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0i0VvGDmgBHBfWLR2cd03e14qZxAGpnJa8eXeayQ1H3Yg@mail.gmail.com>
Date:	Mon, 16 Feb 2015 20:24:24 +0100
From:	"Rafael J. Wysocki" <rafael@...nel.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
	"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Peter Zijlstra <peterz@...radead.org>,
	John Stultz <john.stultz@...aro.org>
Subject: [GIT PULL] Updates related to suspend-to-idle for 3.20-rc1

Hi Linus,

Please pull from

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 suspend-to-idle-3.20-rc1

to receive changes adding support for quiescing timers during suspend-to-idle
for v3.20-rc1 with top-most commit c7fb90dfbef49b03e6f3fd6a32338e59cbcf34ee

 ACPI / idle: Implement ->enter_freeze callback routine

on top of commit 18320f2a6871aaf2522f793fee4a67eccf5e131a

 Merge tag 'pm+acpi-3.20-rc1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

This has been in the works for a few months and reached the point
when it is not useful to hold off pushing it any more.

Till now suspend-to-idle has not been able to save much more energy
than runtime PM because of timer interrupts that periodically bring
CPUs out of idle while they are waiting for a wakeup interrupt.  Of
course, the timer interrupts are not wakeup ones, so the handling of
them can be deferred until a real wakeup interrupt happens, but at
the same time we don't want to mass-expire timers at that point.

The solution is to suspend the entire timekeeping when the last CPU
is entering an idle state and resume it when the first CPU goes out
of idle.  That has to be done with care, though, so as to avoid
accessing suspended clocksources etc. end we need extra support
from idle drivers for that.

This series of commits adds support for quiescing timers during
suspend-to-idle and adds the requisite callbacks to intel_idle
and the ACPI cpuidle driver.  It contains a fix for an issue present
today which is very very difficult to trip over (that would involve
an NMI being traced during very late suspend or very early resume
when we're running with suspended timekeeping).

Thanks!


---------------

Rafael J. Wysocki (6):
      PM / sleep: Re-implement suspend-to-idle handling
      timekeeping: Pass readout base to update_fast_timekeeper()
      timekeeping: Make it safe to use the fast timekeeper while suspended
      PM / sleep: Make it possible to quiesce timers during suspend-to-idle
      intel_idle: Add ->enter_freeze callbacks
      ACPI / idle: Implement ->enter_freeze callback routine

---------------

 drivers/acpi/processor_idle.c |  48 +++++++++--
 drivers/cpuidle/cpuidle.c     |  94 ++++++++++++++++------
 drivers/idle/intel_idle.c     | 179 +++++++++++++++++++++++++++++-------------
 include/linux/cpuidle.h       |  13 ++-
 include/linux/suspend.h       |  16 ++++
 include/linux/tick.h          |   6 +-
 kernel/power/suspend.c        |  43 ++++++++--
 kernel/sched/idle.c           |  16 ++++
 kernel/time/tick-common.c     |  50 ++++++++++++
 kernel/time/timekeeping.c     |  48 ++++++++---
 kernel/time/timekeeping.h     |   2 +
 11 files changed, 407 insertions(+), 108 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ