Skip to content

timers/migration: Handle heterogenous CPU capacities

Frederic Weisbecker linux-pm lkml 1 version Applied

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

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 5 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/6timers/migration: Fix another hotplug activation racekernel/time/timer_migration.c+29 -110 replies
2/6timers/migration: Abstract out hierarchy to prepare for CPU capacity awarenesskernel/time/timer_migration.c kernel/time/timer_migration.h+72 -380 replies
3/6timers/migration: Track CPUs in a hierarchykernel/time/timer_migration.c kernel/time/timer_migration.h+21 -60 replies
4/6timers/migration: Split per-capacity hierarchieskernel/time/timer_migration.c kernel/time/timer_migration.h+101 -310 replies
5/6timers/migration: Handle capacity in connect tracepointsinclude/trace/events/timer_migration.h kernel/time/timer_migration.c+16 -120 replies
6/6scripts/timers: Add timer_migration_tree.pyscripts/timer_migration_tree.py+122 -00 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH 0/6] timers/migration: Handle heterogenous CPU capacities

Hi,

This is a late follow-up after:

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

To summarize, heterogenous capacity CPUs migrate their timers indifferently between big and little CPUs. And this happens to be often migrated to big CPUs, increasing their idle target residency.

Thomas proposed to isolate the hierarchy between big and little CPUs. So here is a try. Note I haven't tested on real heterogenous hardware so if you have it, please test it!

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/core

HEAD: f0a87af6dab6f3a6dd8a603a2b9d7dcc86fd50e4
Thanks,
Frederic
---

Frederic Weisbecker (6):
timers/migration: Fix another hotplug activation race timers/migration: Abstract out hierarchy to prepare for CPU capacity awareness timers/migration: Track CPUs in a hierarchy
timers/migration: Split per-capacity hierarchies timers/migration: Handle capacity in connect tracepoints scripts/timers: Add timer_migration_tree.py

 include/trace/events/timer_migration.h |  24 ++--
 kernel/time/timer_migration.c          | 246 ++++++++++++++++++++++++---------
 kernel/time/timer_migration.h          |  19 +++
 scripts/timer_migration_tree.py        | 122 ++++++++++++++++
 4 files changed, 337 insertions(+), 74 deletions(-)