mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 12:30:23 +09:00
ANDROID: vendor_hooks: Add hooks to recognize special worker thread.
Recognize special worker thread. Bug: 184571803 Signed-off-by: Liujie Xie <xieliujie@oppo.com> Change-Id: I2ad112627eb18b98d0868bac6bd00bbfd84b34c4
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
#include <trace/hooks/thermal.h>
|
||||
#include <trace/hooks/ufshcd.h>
|
||||
#include <trace/hooks/cgroup.h>
|
||||
#include <trace/hooks/workqueue.h>
|
||||
#include <trace/hooks/sys.h>
|
||||
#include <trace/hooks/traps.h>
|
||||
#include <trace/hooks/avc.h>
|
||||
@@ -183,6 +184,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_uclamp_eff_get);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpufreq_transition);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_set_task);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_syscall_prctl_finished);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_create_worker);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup_ignore);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair);
|
||||
|
||||
22
include/trace/hooks/workqueue.h
Normal file
22
include/trace/hooks/workqueue.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM workqueue
|
||||
#define TRACE_INCLUDE_PATH trace/hooks
|
||||
|
||||
#if !defined(_TRACE_HOOK_WORKQUEUE_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_WORKQUEUE_H
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
/*
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
struct worker;
|
||||
DECLARE_HOOK(android_vh_create_worker,
|
||||
TP_PROTO(struct worker *worker, struct workqueue_attrs *attrs),
|
||||
TP_ARGS(worker, attrs));
|
||||
/* macro versions of hooks are no longer required */
|
||||
|
||||
#endif /* _TRACE_HOOK_WORKQUEUE_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "workqueue_internal.h"
|
||||
|
||||
#include <trace/hooks/wqlockup.h>
|
||||
#include <trace/hooks/workqueue.h>
|
||||
/* events/workqueue.h uses default TRACE_INCLUDE_PATH */
|
||||
#undef TRACE_INCLUDE_PATH
|
||||
|
||||
@@ -1948,6 +1949,7 @@ static struct worker *create_worker(struct worker_pool *pool)
|
||||
if (IS_ERR(worker->task))
|
||||
goto fail;
|
||||
|
||||
trace_android_vh_create_worker(worker, pool->attrs);
|
||||
set_user_nice(worker->task, pool->attrs->nice);
|
||||
kthread_bind_mask(worker->task, pool->attrs->cpumask);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user