ANDROID: vendor_hooks: add hooks for extra memory
Add vendor hooks for extra memory. If there is extra memory, this can be accounted like other memory stats. One of the usecases could be cleancache. If some of ram memory is used for cleancache, its free, cache, and total size could be added through these vendor hooks. Bug: 283896254 Change-Id: Iad7330310528581f09842f45860f05dc84823f41 Signed-off-by: Jaewon Kim <jaewon31.kim@samsung.com>
This commit is contained in:
parent
c3ee18fefa
commit
a390414140
4 changed files with 16 additions and 0 deletions
|
|
@ -118,6 +118,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_disable);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_enable);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_attach);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_online);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_meminfo_cache_adjust);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_si_mem_available_adjust);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_si_meminfo_adjust);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_oops_enter);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_oops_exit);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_size_check);
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#ifdef CONFIG_CMA
|
||||
#include <linux/cma.h>
|
||||
#endif
|
||||
#include <trace/hooks/mm.h>
|
||||
#include <asm/page.h>
|
||||
#include "internal.h"
|
||||
#include <trace/hooks/mm.h>
|
||||
|
|
@ -46,6 +47,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
|
|||
|
||||
cached = global_node_page_state(NR_FILE_PAGES) -
|
||||
total_swapcache_pages() - i.bufferram;
|
||||
trace_android_vh_meminfo_cache_adjust(&cached);
|
||||
if (cached < 0)
|
||||
cached = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,15 @@ DECLARE_HOOK(android_vh_show_smap,
|
|||
TP_PROTO(struct seq_file *m, unsigned long writeback,
|
||||
unsigned long same, unsigned long huge),
|
||||
TP_ARGS(m, writeback, same, huge));
|
||||
DECLARE_HOOK(android_vh_meminfo_cache_adjust,
|
||||
TP_PROTO(unsigned long *cached),
|
||||
TP_ARGS(cached));
|
||||
DECLARE_HOOK(android_vh_si_mem_available_adjust,
|
||||
TP_PROTO(unsigned long *available),
|
||||
TP_ARGS(available));
|
||||
DECLARE_HOOK(android_vh_si_meminfo_adjust,
|
||||
TP_PROTO(unsigned long *totalram, unsigned long *freeram),
|
||||
TP_ARGS(totalram, freeram));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_ctl_dirty_rate,
|
||||
TP_PROTO(void *unused),
|
||||
|
|
|
|||
|
|
@ -6065,6 +6065,7 @@ long si_mem_available(void)
|
|||
reclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B) +
|
||||
global_node_page_state(NR_KERNEL_MISC_RECLAIMABLE);
|
||||
available += reclaimable - min(reclaimable / 2, wmark_low);
|
||||
trace_android_vh_si_mem_available_adjust(&available);
|
||||
|
||||
if (available < 0)
|
||||
available = 0;
|
||||
|
|
@ -6081,6 +6082,7 @@ void si_meminfo(struct sysinfo *val)
|
|||
val->totalhigh = totalhigh_pages();
|
||||
val->freehigh = nr_free_highpages();
|
||||
val->mem_unit = PAGE_SIZE;
|
||||
trace_android_vh_si_meminfo_adjust(&val->totalram, &val->freeram);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(si_meminfo);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue