Messages in this thread | | | From | Will Deacon <> | Subject | [PATCH v2 0/5] tick/broadcast: Allow per-cpu timers to be used instead of broadcast | Date | Mon, 24 May 2021 23:18:13 +0100 |
| |
Hi all,
This is version two of the series I posted last week:
https://lore.kernel.org/r/20210520184705.10845-1-will@kernel.org
This patch series adds support for hardware where the per-cpu tick timer cannot wake up from deep idle states (i.e. CLOCK_EVT_FEAT_C3STOP is set) yet there is a secondary per-cpu timer which is generally less preferable (i.e. slow to access) yet capable of delivering the wakeup.
Changes since v1 include:
* Fixed module refcounting and use of clockevents_exchange_device() * Require CLOCK_EVT_FEAT_PERCPU for new wakeup per-cpu source * Fix transition to oneshot mode while idle * Tested on my x86 laptop
Cheers,
Will
Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Marc Zyngier <maz@kernel.org> Cc: Lorenzo Colitti <lorenzo@google.com> Cc: John Stultz <john.stultz@linaro.org> Cc: Stephen Boyd <sboyd@kernel.org> Cc: Mika Penttilä <mika.penttila@nextfour.com> Cc: kernel-team@android.com
--->8
Will Deacon (5): tick/broadcast: Drop unneeded CONFIG_GENERIC_CLOCKEVENTS_BROADCAST guard tick/broadcast: Split __tick_broadcast_oneshot_control() into a helper tick/broadcast: Prefer per-cpu oneshot wakeup timers to broadcast tick/broadcast: Program wakeup timer when entering idle if required timer_list: Print name of per-cpu wakeup device
kernel/time/tick-broadcast.c | 143 +++++++++++++++++++++++++++++++---- kernel/time/tick-common.c | 2 +- kernel/time/tick-internal.h | 5 +- kernel/time/timer_list.c | 10 ++- 4 files changed, 140 insertions(+), 20 deletions(-)
-- 2.31.1.818.g46aad6cb9e-goog
| |