mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 20:10:23 +09:00
ANDROID: vendor_hooks: Add hook for binder
Add hook to support oem's performance feature. Bug: 186482511 Signed-off-by: xieliujie <xieliujie@oppo.com> Change-Id: Ib495e80e569cc293eaa98d87a050aee8915eb415
This commit is contained in:
@@ -729,6 +729,7 @@ static void binder_transaction_priority(struct task_struct *task,
|
||||
bool inherit_rt)
|
||||
{
|
||||
struct binder_priority desired_prio = t->priority;
|
||||
bool skip = false;
|
||||
|
||||
if (t->set_priority_called)
|
||||
return;
|
||||
@@ -737,6 +738,10 @@ static void binder_transaction_priority(struct task_struct *task,
|
||||
t->saved_priority.sched_policy = task->policy;
|
||||
t->saved_priority.prio = task->normal_prio;
|
||||
|
||||
trace_android_vh_binder_transaction_priority_skip(task, &skip);
|
||||
if (skip)
|
||||
return;
|
||||
|
||||
if (!inherit_rt && is_rt_policy(desired_prio.sched_policy)) {
|
||||
desired_prio.prio = NICE_TO_PRIO(0);
|
||||
desired_prio.sched_policy = SCHED_NORMAL;
|
||||
|
||||
@@ -75,6 +75,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_setscheduler);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_arch_set_freq_scale);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_priority_skip);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_restore_priority);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked);
|
||||
|
||||
@@ -20,6 +20,9 @@ struct binder_transaction_data;
|
||||
DECLARE_HOOK(android_vh_binder_transaction_init,
|
||||
TP_PROTO(struct binder_transaction *t),
|
||||
TP_ARGS(t));
|
||||
DECLARE_HOOK(android_vh_binder_transaction_priority_skip,
|
||||
TP_PROTO(struct task_struct *task, bool *skip),
|
||||
TP_ARGS(task, skip));
|
||||
DECLARE_HOOK(android_vh_binder_set_priority,
|
||||
TP_PROTO(struct binder_transaction *t, struct task_struct *task),
|
||||
TP_ARGS(t, task));
|
||||
|
||||
Reference in New Issue
Block a user