Skip to content

tick/broadcast: Allow per-cpu timers to be used instead of broadcast

Will Deacon linux-arm-kernel lkml 2 versions – Applied

Status from this message: The following commit has been merged into the timers/core branch of tip:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest5 patches 8 repliesApplied
  2. v15 patches 5 repliesSuperseded

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/5tick/broadcast: Drop unneeded CONFIG_GENERIC_CLOCKEVENTS_BROADCAST guardkernel/time/tick-broadcast.c+0 -20 replies
2/5tick/broadcast: Split __tick_broadcast_oneshot_control() into a helperkernel/time/tick-broadcast.c+20 -138 replies
3/5tick/broadcast: Prefer per-cpu oneshot wakeup timers to broadcastkernel/time/tick-broadcast.c kernel/time/tick-common.c kernel/time/tick-internal.h+61 -40 replies
4/5tick/broadcast: Program wakeup timer when entering idle if requiredkernel/time/tick-broadcast.c+43 -10 replies
5/5timer_list: Print name of per-cpu wakeup devicekernel/time/tick-broadcast.c kernel/time/tick-internal.h kernel/time/timer_list.c+17 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/5] tick/broadcast: Allow per-cpu timers to be used instead of broadcast

Hi all,

This is version two of the series I posted last week:

https://lore.kernel.org/r/[email protected]

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 <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Marc Zyngier <[email protected]>
Cc Lorenzo Colitti <[email protected]>
Cc John Stultz <[email protected]>
Cc Stephen Boyd <[email protected]>
Cc Mika Penttilä <[email protected]>

--->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(-)
Signature · 1 line
2.31.1.818.g46aad6cb9e-goog