History

timers/migration: Handle capacity in connect tracepoints

This let tracers know to which hierarchy a CPU belongs to.

Frederic Weisbecker committed 6 months ago

Commit 5a7dfbc1 parent 098cbaa2 files · +16 −12Browse files

Unified · Split

2 files
  1. include/trace/events/timer_migration.h +14 −10
  2. kernel/time/timer_migration.c +2 −2
include/trace/events/timer_migration.h+14−10
@@ -33,15 +33,16 @@ TRACE_EVENT(tmigr_group_set, · 32 unmodified lines
3333
3434 TRACE_EVENT(tmigr_connect_child_parent,
3535
36− TP_PROTO(struct tmigr_group *child),
36+ TP_PROTO(struct tmigr_hierarchy *hier, struct tmigr_group *child),
3737
38− TP_ARGS(child),
38+ TP_ARGS(hier, child),
3939
4040 TP_STRUCT__entry(
4141 __field( void *, child )
4242 __field( void *, parent )
4343 __field( unsigned int, lvl )
4444 __field( unsigned int, numa_node )
45+ __field( unsigned int, capacity )
4546 __field( unsigned int, num_children )
4647 __field( u32, groupmask )
4748 ),
@@ -51,26 +52,28 @@ TRACE_EVENT(tmigr_connect_child_parent, · 3 unmodified lines
5152 __entry->parent = child->parent;
5253 __entry->lvl = child->parent->level;
5354 __entry->numa_node = child->parent->numa_node;
55+ __entry->capacity = hier->capacity;
5456 __entry->num_children = child->parent->num_children;
5557 __entry->groupmask = child->groupmask;
5658 ),
5759
58− TP_printk("group=%p groupmask=%0x parent=%p lvl=%d numa=%d num_children=%d",
59− __entry->child, __entry->groupmask, __entry->parent,
60− __entry->lvl, __entry->numa_node, __entry->num_children)
60+ TP_printk("group=%p groupmask=%0x parent=%p lvl=%d numa=%d capacity=%d num_children=%d",
61+ __entry->child, __entry->groupmask, __entry->parent, __entry->lvl,
62+ __entry->numa_node, __entry->capacity, __entry->num_children)
6163 );
6264
6365 TRACE_EVENT(tmigr_connect_cpu_parent,
6466
65− TP_PROTO(struct tmigr_cpu *tmc),
67+ TP_PROTO(struct tmigr_hierarchy *hier, struct tmigr_cpu *tmc),
6668
67− TP_ARGS(tmc),
69+ TP_ARGS(hier, tmc),
6870
6971 TP_STRUCT__entry(
7072 __field( void *, parent )
7173 __field( unsigned int, cpu )
7274 __field( unsigned int, lvl )
7375 __field( unsigned int, numa_node )
76+ __field( unsigned int, capacity )
7477 __field( unsigned int, num_children )
7578 __field( u32, groupmask )
7679 ),
@@ -80,13 +83,14 @@ TRACE_EVENT(tmigr_connect_cpu_parent, · 3 unmodified lines
8083 __entry->cpu = tmc->cpuevt.cpu;
8184 __entry->lvl = tmc->tmgroup->level;
8285 __entry->numa_node = tmc->tmgroup->numa_node;
86+ __entry->capacity = hier->capacity;
8387 __entry->num_children = tmc->tmgroup->num_children;
8488 __entry->groupmask = tmc->groupmask;
8589 ),
8690
87− TP_printk("cpu=%d groupmask=%0x parent=%p lvl=%d numa=%d num_children=%d",
88− __entry->cpu, __entry->groupmask, __entry->parent,
89− __entry->lvl, __entry->numa_node, __entry->num_children)
91+ TP_printk("cpu=%d groupmask=%0x parent=%p lvl=%d numa=%d capacity=%d num_children=%d",
92+ __entry->cpu, __entry->groupmask, __entry->parent, __entry->lvl,
93+ __entry->numa_node, __entry->capacity, __entry->num_children)
9094 );
9195
9296 DECLARE_EVENT_CLASS(tmigr_group_and_cpu,
kernel/time/timer_migration.c+2−2
@@ -1752,7 +1752,7 @@ static void tmigr_connect_child_parent(struct tmigr_hierarchy *hier, struct tmig · 1751 unmodified lines
17521752 */
17531753 smp_store_release(&child->parent, parent);
17541754
1755− trace_tmigr_connect_child_parent(child);
1755+ trace_tmigr_connect_child_parent(hier, child);
17561756 }
17571757
17581758 static int tmigr_setup_groups(struct tmigr_hierarchy *hier, unsigned int cpu,
@@ -1827,7 +1827,7 @@ static int tmigr_setup_groups(struct tmigr_hierarchy *hier, unsigned int cpu, · 68 unmodified lines
18271827
18281828 tmigr_init_root(hier, group, activate);
18291829
1830− trace_tmigr_connect_cpu_parent(tmc);
1830+ trace_tmigr_connect_cpu_parent(hier, tmc);
18311831
18321832 /* There are no children that need to be connected */
18331833 continue;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t