Skip to content

Commit 823e6ab

Browse files
Martijn Coenenpundiramit
authored andcommitted
ANDROID: binder: Add tracing for binder priority inheritance.
Bug: 34461621 Change-Id: I5ebb1c0c49fd42a89ee250a1d70221f767c82c7c Signed-off-by: Martijn Coenen <maco@google.com>
1 parent b0fd669 commit 823e6ab

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

drivers/android/binder.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,10 @@ static void binder_do_set_priority(struct task_struct *task,
11541154
task->pid, desired.prio,
11551155
to_kernel_prio(policy, priority));
11561156

1157+
trace_binder_set_priority(task->tgid, task->pid, task->normal_prio,
1158+
to_kernel_prio(policy, priority),
1159+
desired.prio);
1160+
11571161
/* Set the actual priority */
11581162
if (task->policy != policy || is_rt_policy(policy)) {
11591163
struct sched_param params;

drivers/android/binder_trace.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,30 @@ DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_ioctl_done);
8585
DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_write_done);
8686
DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_read_done);
8787

88+
TRACE_EVENT(binder_set_priority,
89+
TP_PROTO(int proc, int thread, unsigned int old_prio,
90+
unsigned int desired_prio, unsigned int new_prio),
91+
TP_ARGS(proc, thread, old_prio, new_prio, desired_prio),
92+
93+
TP_STRUCT__entry(
94+
__field(int, proc)
95+
__field(int, thread)
96+
__field(unsigned int, old_prio)
97+
__field(unsigned int, new_prio)
98+
__field(unsigned int, desired_prio)
99+
),
100+
TP_fast_assign(
101+
__entry->proc = proc;
102+
__entry->thread = thread;
103+
__entry->old_prio = old_prio;
104+
__entry->new_prio = new_prio;
105+
__entry->desired_prio = desired_prio;
106+
),
107+
TP_printk("proc=%d thread=%d old=%d => new=%d desired=%d",
108+
__entry->proc, __entry->thread, __entry->old_prio,
109+
__entry->new_prio, __entry->desired_prio)
110+
);
111+
88112
TRACE_EVENT(binder_wait_for_work,
89113
TP_PROTO(bool proc_work, bool transaction_stack, bool thread_todo),
90114
TP_ARGS(proc_work, transaction_stack, thread_todo),

0 commit comments

Comments
 (0)