mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
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:
committed by
Suren Baghdasaryan
parent
c3ee18fefa
commit
a390414140
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user