ANDROID: Re-apply vendor hooks for rt_mutex information of blocked tasks
This reverts commit bf2290a48a
(Revert "ANDROID: vendor_hooks: set
debugging data when rt_mutex is working")
The original patch has been reverted to resolve merge issues.
This patch adds again the vendor hooks for the original purpose.
Bug: 216016261
Signed-off-by: Sangmoon Kim <sangmoon.kim@samsung.com>
Change-Id: I00162d88e2a446e9ece4804def098fcdc63fceb9
(cherry picked from commit d497887b00ac3e5e380123cac4a303d009b570ee)
This commit is contained in:
parent
3aabda4d52
commit
b35a3d1bad
|
@ -70,6 +70,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_futex_plist_add);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_start);
|
||||
|
|
|
@ -19,6 +19,14 @@ DECLARE_HOOK(android_vh_mutex_wait_finish,
|
|||
TP_PROTO(struct mutex *lock),
|
||||
TP_ARGS(lock));
|
||||
|
||||
struct rt_mutex_base;
|
||||
DECLARE_HOOK(android_vh_rtmutex_wait_start,
|
||||
TP_PROTO(struct rt_mutex_base *lock),
|
||||
TP_ARGS(lock));
|
||||
DECLARE_HOOK(android_vh_rtmutex_wait_finish,
|
||||
TP_PROTO(struct rt_mutex_base *lock),
|
||||
TP_ARGS(lock));
|
||||
|
||||
struct rw_semaphore;
|
||||
DECLARE_HOOK(android_vh_rwsem_read_wait_start,
|
||||
TP_PROTO(struct rw_semaphore *sem),
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/sched/rt.h>
|
||||
#include <linux/sched/wake_q.h>
|
||||
#include <linux/ww_mutex.h>
|
||||
#include <trace/hooks/dtask.h>
|
||||
|
||||
#include "rtmutex_common.h"
|
||||
|
||||
|
@ -1479,6 +1480,7 @@ static int __sched rt_mutex_slowlock_block(struct rt_mutex_base *lock,
|
|||
struct task_struct *owner;
|
||||
int ret = 0;
|
||||
|
||||
trace_android_vh_rtmutex_wait_start(lock);
|
||||
for (;;) {
|
||||
/* Try to acquire the lock: */
|
||||
if (try_to_take_rt_mutex(lock, current, waiter))
|
||||
|
@ -1512,6 +1514,7 @@ static int __sched rt_mutex_slowlock_block(struct rt_mutex_base *lock,
|
|||
set_current_state(state);
|
||||
}
|
||||
|
||||
trace_android_vh_rtmutex_wait_finish(lock);
|
||||
__set_current_state(TASK_RUNNING);
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue