mirror of
https://github.com/hardkernel/kernel_common_drivers.git
synced 2026-06-25 12:03:48 +09:00
bring up: add vendor hook android_rvh_place_entity for kernel6.6 [1/1]
PD#SWPL-151469 Problem: vendor hook android_rvh_place_entity do not exist in kernel6.6. Add it in autopatch temporarily. Solution: add vendor hook android_rvh_place_entity for scheduler optimize when debug Verify: local Change-Id: I1c58b88090fd1e4ab8aff907532f417bc84971f8 Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
This commit is contained in:
committed by
Wanwei Jiang
parent
b9ca09ab85
commit
cf74d1cb69
+64
@@ -0,0 +1,64 @@
|
||||
From 2cc4d1389d3091ceee53ea2519eba59b23643044 Mon Sep 17 00:00:00 2001
|
||||
From: Dezhen Wang <dezhen.wang@amlogic.com>
|
||||
Date: Fri, 29 Dec 2023 10:42:03 +0000
|
||||
Subject: [PATCH] bring up: add vendor hook for kernel6.6 [1/1]
|
||||
|
||||
PD#SWPL-151469
|
||||
|
||||
Problem:
|
||||
loss vendor hook
|
||||
|
||||
Solution:
|
||||
add vendor hook
|
||||
|
||||
Verify:
|
||||
SC2/AH212
|
||||
|
||||
Change-Id: I8b4f50d05814d67d8d60949aad59d15013bb3f3a
|
||||
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
|
||||
---
|
||||
include/trace/hooks/sched.h | 5 +++++
|
||||
kernel/sched/fair.c | 1 +
|
||||
kernel/sched/vendor_hooks.c | 1 +
|
||||
3 files changed, 7 insertions(+)
|
||||
|
||||
diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h
|
||||
index 20255a477947..e847bf56f295 100644
|
||||
--- a/include/trace/hooks/sched.h
|
||||
+++ b/include/trace/hooks/sched.h
|
||||
@@ -255,6 +255,11 @@ DECLARE_HOOK(android_vh_set_wake_flags,
|
||||
TP_PROTO(int *wake_flags, unsigned int *mode),
|
||||
TP_ARGS(wake_flags, mode));
|
||||
|
||||
+struct sched_entity;
|
||||
+DECLARE_RESTRICTED_HOOK(android_rvh_place_entity,
|
||||
+ TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial, u64 *vruntime),
|
||||
+ TP_ARGS(cfs_rq, se, initial, vruntime), 1);
|
||||
+
|
||||
/* macro versions of hooks are no longer required */
|
||||
|
||||
#endif /* _TRACE_HOOK_SCHED_H */
|
||||
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
|
||||
index 0e144aa8188a..614d30e452ae 100644
|
||||
--- a/kernel/sched/fair.c
|
||||
+++ b/kernel/sched/fair.c
|
||||
@@ -5094,6 +5094,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags)
|
||||
* EEVDF: vd_i = ve_i + r_i/w_i
|
||||
*/
|
||||
se->deadline = se->vruntime + vslice;
|
||||
+ trace_android_rvh_place_entity(cfs_rq, se, flags, &vruntime);
|
||||
}
|
||||
|
||||
static void check_enqueue_throttle(struct cfs_rq *cfs_rq);
|
||||
diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c
|
||||
index 0838a1b58ac4..53d0ea40c22d 100644
|
||||
--- a/kernel/sched/vendor_hooks.c
|
||||
+++ b/kernel/sched/vendor_hooks.c
|
||||
@@ -67,3 +67,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_thermal_stats);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags);
|
||||
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity);
|
||||
--
|
||||
2.43.0
|
||||
|
||||
Reference in New Issue
Block a user