ANDROID: sched: add vendor hook to PELT multiplier

We add vendor hook at sched_pelt_multiplier for
performance tuning.

Bug: 240896506

Change-Id: I10e3436a986dd5dd7d375460922407666f27739d
Signed-off-by: Jing-Ting Wu <Jing-Ting.Wu@mediatek.com>
Signed-off-by: JianMin Liu <jian-min.liu@mediatek.com>
This commit is contained in:
Jing-Ting Wu
2022-07-26 21:04:35 +08:00
committed by Todd Kjos
parent 573c7f061d
commit 9e8dedef1e
3 changed files with 10 additions and 0 deletions

View File

@@ -435,3 +435,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_pages);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_shmem_page_flag);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_pidfd_open);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmput);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_pelt_multiplier);

View File

@@ -398,6 +398,10 @@ DECLARE_HOOK(android_vh_pidfd_open,
DECLARE_HOOK(android_vh_mmput,
TP_PROTO(void *unused),
TP_ARGS(unused));
DECLARE_HOOK(android_vh_sched_pelt_multiplier,
TP_PROTO(unsigned int old, unsigned int cur, int *ret),
TP_ARGS(old, cur, ret));
/* macro versions of hooks are no longer required */
#endif /* _TRACE_HOOK_SCHED_H */

View File

@@ -532,6 +532,7 @@ int update_irq_load_avg(struct rq *rq, u64 running)
}
#endif
#include <trace/hooks/sched.h>
DEFINE_PER_CPU(u64, clock_task_mult);
unsigned int sysctl_sched_pelt_multiplier = 1;
@@ -553,6 +554,10 @@ int sched_pelt_multiplier(struct ctl_table *table, int write, void *buffer,
if (!write)
goto done;
trace_android_vh_sched_pelt_multiplier(old, sysctl_sched_pelt_multiplier, &ret);
if (ret)
goto undo;
switch (sysctl_sched_pelt_multiplier) {
case 1:
fallthrough;