ANDROID: GKI: Add vendor hook to binder transaction
We want to get binder free space information in the binder transaction, but this needs to hold the mutex lock. So we add this restrict hook to do this. Bug: 205648032 Change-Id: Ie1f377018da686bd62f5ac2d1e5421899741e6d5 Signed-off-by: Liangliang Li <liliangliang@vivo.com> (cherry picked from commit 2f3f5731de0536a6a1048ae01e129cebec48e664)
This commit is contained in:
parent
d1367b5473
commit
cabca1b98e
|
@ -2856,6 +2856,7 @@ static void binder_transaction(struct binder_proc *proc,
|
|||
if (target_thread)
|
||||
e->to_thread = target_thread->pid;
|
||||
e->to_proc = target_proc->pid;
|
||||
trace_android_rvh_binder_transaction(target_proc, proc, thread, tr);
|
||||
|
||||
/* TODO: reuse incoming transaction for reply */
|
||||
t = kzalloc(sizeof(*t), GFP_KERNEL);
|
||||
|
|
|
@ -203,6 +203,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_ignore);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wait_for_work);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_binder_transaction);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sync_txn_recvd);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn);
|
||||
|
|
|
@ -23,6 +23,7 @@ DECLARE_HOOK(android_vh_binder_restore_priority,
|
|||
TP_ARGS(t, task));
|
||||
struct binder_proc;
|
||||
struct binder_thread;
|
||||
struct binder_transaction_data;
|
||||
DECLARE_HOOK(android_vh_binder_wakeup_ilocked,
|
||||
TP_PROTO(struct task_struct *task, bool sync, struct binder_proc *proc),
|
||||
TP_ARGS(task, sync, proc));
|
||||
|
@ -32,6 +33,10 @@ DECLARE_HOOK(android_vh_binder_wait_for_work,
|
|||
DECLARE_HOOK(android_vh_sync_txn_recvd,
|
||||
TP_PROTO(struct task_struct *tsk, struct task_struct *from),
|
||||
TP_ARGS(tsk, from));
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_binder_transaction,
|
||||
TP_PROTO(struct binder_proc *target_proc, struct binder_proc *proc,
|
||||
struct binder_thread *thread, struct binder_transaction_data *tr),
|
||||
TP_ARGS(target_proc, proc, thread, tr), 1);
|
||||
#endif /* _TRACE_HOOK_BINDER_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
|
Loading…
Reference in New Issue