ANDROID: mm: add vendor hook for direct reclaim
We'd like to adjust cpu priority for some processes with lower priority during direct reclaim. Bug: 351175506 Change-Id: Icdb613e99c8455f705d330aa90f65c908d43a6e3 Signed-off-by: Sooyong Suk <s.suk@samsung.corp-partner.google.com> (cherry picked from commit 6508004f9ff26ee9949403b3dc0dd4ea27ba06f5) Signed-off-by: Ziwei Dai <ziwei.dai@unisoc.com>
This commit is contained in:
@@ -440,4 +440,6 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_vmscan_kswapd_wake);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_vmscan_kswapd_done);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_customize_alloc_gfp);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_kcompactd_cpu_online);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_direct_reclaim_begin);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_direct_reclaim_end);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_read_fault);
|
||||
|
||||
@@ -82,6 +82,12 @@ DECLARE_RESTRICTED_HOOK(android_rvh_vmscan_kswapd_done,
|
||||
TP_PROTO(int node_id, unsigned int highest_zoneidx, unsigned int alloc_order,
|
||||
unsigned int reclaim_order),
|
||||
TP_ARGS(node_id, highest_zoneidx, alloc_order, reclaim_order), 1);
|
||||
DECLARE_HOOK(android_vh_direct_reclaim_begin,
|
||||
TP_PROTO(int *prio),
|
||||
TP_ARGS(prio));
|
||||
DECLARE_HOOK(android_vh_direct_reclaim_end,
|
||||
TP_PROTO(int prio),
|
||||
TP_ARGS(prio));
|
||||
|
||||
#endif /* _TRACE_HOOK_VMSCAN_H */
|
||||
/* This part must be outside protection */
|
||||
|
||||
@@ -6653,6 +6653,7 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
|
||||
.may_swap = 1,
|
||||
};
|
||||
bool skip_swap = false;
|
||||
int prio = 0;
|
||||
|
||||
/*
|
||||
* scan_control uses s8 fields for order, priority, and reclaim_idx.
|
||||
@@ -6675,9 +6676,11 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
|
||||
sc.may_swap = 0;
|
||||
set_task_reclaim_state(current, &sc.reclaim_state);
|
||||
trace_mm_vmscan_direct_reclaim_begin(order, sc.gfp_mask);
|
||||
trace_android_vh_direct_reclaim_begin(&prio);
|
||||
|
||||
nr_reclaimed = do_try_to_free_pages(zonelist, &sc);
|
||||
|
||||
trace_android_vh_direct_reclaim_end(prio);
|
||||
trace_mm_vmscan_direct_reclaim_end(nr_reclaimed);
|
||||
set_task_reclaim_state(current, NULL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user