mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 12:30:23 +09:00
ANDROID: vendor_hooks: add vendor hook in current_alloc_flags()
By this vh, you can made your policy of ALLOC_CMA.
ex: skip __GFP_CMA to allow file-backed memory on CMA area
Bug: 234498088
Bug: 295917627
Signed-off-by: Edward Wu <edwardwu@realtek.com>
(cherry picked from commit fca6ddffc8)
Change-Id: Ief8de1f82885abeddbb6c0b625f7deca9fd74f6b
This commit is contained in:
@@ -313,6 +313,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_start);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_finish);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_adjust);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_busy_info);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_calc_alloc_flags);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_enable_thermal_genl_check);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_begin);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_end);
|
||||
|
||||
@@ -44,6 +44,10 @@ DECLARE_HOOK(android_vh_cma_alloc_finish,
|
||||
DECLARE_HOOK(android_vh_cma_alloc_busy_info,
|
||||
TP_PROTO(struct acr_info *info),
|
||||
TP_ARGS(info));
|
||||
DECLARE_HOOK(android_vh_calc_alloc_flags,
|
||||
TP_PROTO(gfp_t gfp_mask, unsigned int *alloc_flags,
|
||||
bool *bypass),
|
||||
TP_ARGS(gfp_mask, alloc_flags, bypass));
|
||||
DECLARE_HOOK(android_vh_meminfo_proc_show,
|
||||
TP_PROTO(struct seq_file *m),
|
||||
TP_ARGS(m));
|
||||
|
||||
@@ -4258,6 +4258,12 @@ static inline unsigned int gfp_to_alloc_flags_cma(gfp_t gfp_mask,
|
||||
unsigned int alloc_flags)
|
||||
{
|
||||
#ifdef CONFIG_CMA
|
||||
bool bypass = false;
|
||||
|
||||
trace_android_vh_calc_alloc_flags(gfp_mask, &alloc_flags, &bypass);
|
||||
if (bypass)
|
||||
return alloc_flags;
|
||||
|
||||
if (gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE && gfp_mask & __GFP_CMA)
|
||||
alloc_flags |= ALLOC_CMA;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user