ANDROID: vendor_hooks: add hooks in mem_cgroup subsystem

Add hooks to tune memory policy based on mem_cgroup.

Bug: 192052083
Change-Id: Ica1a5409eed86fbd466edd2c7557f94972a40175
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Signed-off-by: huzhanyuan <huzhanyuan@oppo.com>
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
This commit is contained in:
Liujie Xie
2021-07-03 12:09:04 +08:00
committed by John Stultz
parent 27028ca781
commit 4911e30d7b
3 changed files with 14 additions and 0 deletions
+3
View File
@@ -37,6 +37,7 @@
#include <trace/hooks/fpsimd.h>
#include <trace/hooks/dtask.h>
#include <trace/hooks/ftrace_dump.h>
#include <trace/hooks/mm.h>
/*
* Export tracepoints that act as a bare tracehook (ie: have no trace event
@@ -99,3 +100,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_timer_calc_index);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_format_check);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_free);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_alloc);
+8
View File
@@ -21,6 +21,14 @@ DECLARE_RESTRICTED_HOOK(android_rvh_set_readahead_gfp_mask,
TP_ARGS(flags), 1);
*/
struct mem_cgroup;
DECLARE_HOOK(android_vh_mem_cgroup_alloc,
TP_PROTO(struct mem_cgroup *memcg),
TP_ARGS(memcg));
DECLARE_HOOK(android_vh_mem_cgroup_free,
TP_PROTO(struct mem_cgroup *memcg),
TP_ARGS(memcg));
#endif /* _TRACE_HOOK_MM_H */
/* This part must be outside protection */
+3
View File
@@ -72,6 +72,7 @@
#include <linux/uaccess.h>
#include <trace/events/vmscan.h>
#include <trace/hooks/mm.h>
struct cgroup_subsys memory_cgrp_subsys __read_mostly;
EXPORT_SYMBOL(memory_cgrp_subsys);
@@ -3458,6 +3459,7 @@ static void __mem_cgroup_free(struct mem_cgroup *memcg)
{
int node;
trace_android_vh_mem_cgroup_free(memcg);
obj_cgroup_put(memcg->orig_objcg);
for_each_node(node)
@@ -3542,6 +3544,7 @@ static struct mem_cgroup *mem_cgroup_alloc(struct mem_cgroup *parent)
memcg->deferred_split_queue.split_queue_len = 0;
#endif
lru_gen_init_memcg(memcg);
trace_android_vh_mem_cgroup_alloc(memcg);
return memcg;
fail:
mem_cgroup_id_remove(memcg);