mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 20:10:23 +09:00
ANDROID: vendor_hooks: add vendor hoook 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 Signed-off-by: Edward Wu <edwardwu@realtek.com> Change-Id: Ief8de1f82885abeddbb6c0b625f7deca9fd74f6b
This commit is contained in:
@@ -215,6 +215,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup);
|
||||
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_busy_info);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_calc_alloc_flags);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_begin);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_end);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue);
|
||||
|
||||
@@ -36,6 +36,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(unsigned int pflags, gfp_t gfp_mask, unsigned int *alloc_flags,
|
||||
bool *bypass),
|
||||
TP_ARGS(pflags, gfp_mask, alloc_flags, bypass));
|
||||
DECLARE_HOOK(android_vh_mm_compaction_begin,
|
||||
TP_PROTO(struct compact_control *cc, long *vendor_ret),
|
||||
TP_ARGS(cc, vendor_ret));
|
||||
|
||||
@@ -4112,6 +4112,11 @@ static inline unsigned int current_alloc_flags(gfp_t gfp_mask,
|
||||
{
|
||||
#ifdef CONFIG_CMA
|
||||
unsigned int pflags = current->flags;
|
||||
bool bypass = false;
|
||||
|
||||
trace_android_vh_calc_alloc_flags(pflags, gfp_mask, &alloc_flags, &bypass);
|
||||
if (bypass)
|
||||
return alloc_flags;
|
||||
|
||||
if (!(pflags & PF_MEMALLOC_NOCMA) &&
|
||||
gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE &&
|
||||
|
||||
Reference in New Issue
Block a user