Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81402ead authored by Martijn Coenen's avatar Martijn Coenen Committed by Martijn Coenen
Browse files

ANDROID: binder: Add tracing for binder priority inheritance.



Bug: 34461621
Change-Id: I5ebb1c0c49fd42a89ee250a1d70221f767c82c7c
Signed-off-by: default avatarMartijn Coenen <maco@google.com>
parent 96a28fcc
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1153,6 +1153,10 @@ static void binder_do_set_priority(struct task_struct *task,
			      task->pid, desired.prio,
			      to_kernel_prio(policy, priority));

	trace_binder_set_priority(task->tgid, task->pid, task->normal_prio,
				  to_kernel_prio(policy, priority),
				  desired.prio);

	/* Set the actual priority */
	if (task->policy != policy || is_rt_policy(policy)) {
		struct sched_param params;
+24 −0
Original line number Diff line number Diff line
@@ -85,6 +85,30 @@ DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_ioctl_done);
DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_write_done);
DEFINE_BINDER_FUNCTION_RETURN_EVENT(binder_read_done);

TRACE_EVENT(binder_set_priority,
	TP_PROTO(int proc, int thread, unsigned int old_prio,
		 unsigned int desired_prio, unsigned int new_prio),
	TP_ARGS(proc, thread, old_prio, new_prio, desired_prio),

	TP_STRUCT__entry(
		__field(int, proc)
		__field(int, thread)
		__field(unsigned int, old_prio)
		__field(unsigned int, new_prio)
		__field(unsigned int, desired_prio)
	),
	TP_fast_assign(
		__entry->proc = proc;
		__entry->thread = thread;
		__entry->old_prio = old_prio;
		__entry->new_prio = new_prio;
		__entry->desired_prio = desired_prio;
	),
	TP_printk("proc=%d thread=%d old=%d => new=%d desired=%d",
		  __entry->proc, __entry->thread, __entry->old_prio,
		  __entry->new_prio, __entry->desired_prio)
);

TRACE_EVENT(binder_wait_for_work,
	TP_PROTO(bool proc_work, bool transaction_stack, bool thread_todo),
	TP_ARGS(proc_work, transaction_stack, thread_todo),