mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +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_start);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_finish);
|
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_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_begin);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_end);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_compaction_end);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue);
|
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,
|
DECLARE_HOOK(android_vh_cma_alloc_busy_info,
|
||||||
TP_PROTO(struct acr_info *info),
|
TP_PROTO(struct acr_info *info),
|
||||||
TP_ARGS(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,
|
DECLARE_HOOK(android_vh_mm_compaction_begin,
|
||||||
TP_PROTO(struct compact_control *cc, long *vendor_ret),
|
TP_PROTO(struct compact_control *cc, long *vendor_ret),
|
||||||
TP_ARGS(cc, 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
|
#ifdef CONFIG_CMA
|
||||||
unsigned int pflags = current->flags;
|
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) &&
|
if (!(pflags & PF_MEMALLOC_NOCMA) &&
|
||||||
gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE &&
|
gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE &&
|
||||||
|
|||||||
Reference in New Issue
Block a user