mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
ANDROID: mm: add kswapd wake/done rvh
These restricted hooks are needed for cases when vendor implementation needs to call sleeping functions. See the bug for details. Bug: 379922825 Change-Id: I0e5626bed930830caf7f96a5b051b3174f4cf250 Signed-off-by: Dmitry Skiba <dskiba@google.com>
This commit is contained in:
@@ -383,6 +383,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_compaction_try_to_compact_pages_exit);
|
|||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_direct_reclaim_enter);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_direct_reclaim_enter);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_direct_reclaim_exit);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_direct_reclaim_exit);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_may_oom_exit);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_may_oom_exit);
|
||||||
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_vmscan_kswapd_wake);
|
||||||
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_vmscan_kswapd_done);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_vmscan_kswapd_done);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_vmscan_kswapd_done);
|
||||||
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);
|
||||||
|
|||||||
@@ -53,6 +53,13 @@ DECLARE_HOOK(android_vh_vmscan_kswapd_done,
|
|||||||
TP_PROTO(int node_id, unsigned int highest_zoneidx, unsigned int alloc_order,
|
TP_PROTO(int node_id, unsigned int highest_zoneidx, unsigned int alloc_order,
|
||||||
unsigned int reclaim_order),
|
unsigned int reclaim_order),
|
||||||
TP_ARGS(node_id, highest_zoneidx, alloc_order, reclaim_order));
|
TP_ARGS(node_id, highest_zoneidx, alloc_order, reclaim_order));
|
||||||
|
DECLARE_RESTRICTED_HOOK(android_rvh_vmscan_kswapd_wake,
|
||||||
|
TP_PROTO(int node_id, unsigned int highest_zoneidx, unsigned int alloc_order),
|
||||||
|
TP_ARGS(node_id, highest_zoneidx, alloc_order), 1);
|
||||||
|
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_handle_trylock_failed_folio,
|
DECLARE_HOOK(android_vh_handle_trylock_failed_folio,
|
||||||
TP_PROTO(struct list_head *folio_list),
|
TP_PROTO(struct list_head *folio_list),
|
||||||
TP_ARGS(folio_list));
|
TP_ARGS(folio_list));
|
||||||
|
|||||||
@@ -7874,8 +7874,12 @@ kswapd_try_sleep:
|
|||||||
*/
|
*/
|
||||||
trace_mm_vmscan_kswapd_wake(pgdat->node_id, highest_zoneidx,
|
trace_mm_vmscan_kswapd_wake(pgdat->node_id, highest_zoneidx,
|
||||||
alloc_order);
|
alloc_order);
|
||||||
|
trace_android_rvh_vmscan_kswapd_wake(pgdat->node_id, highest_zoneidx,
|
||||||
|
alloc_order);
|
||||||
reclaim_order = balance_pgdat(pgdat, alloc_order,
|
reclaim_order = balance_pgdat(pgdat, alloc_order,
|
||||||
highest_zoneidx);
|
highest_zoneidx);
|
||||||
|
trace_android_rvh_vmscan_kswapd_done(pgdat->node_id, highest_zoneidx,
|
||||||
|
alloc_order, reclaim_order);
|
||||||
trace_android_vh_vmscan_kswapd_done(pgdat->node_id, highest_zoneidx,
|
trace_android_vh_vmscan_kswapd_done(pgdat->node_id, highest_zoneidx,
|
||||||
alloc_order, reclaim_order);
|
alloc_order, reclaim_order);
|
||||||
if (reclaim_order < alloc_order)
|
if (reclaim_order < alloc_order)
|
||||||
|
|||||||
Reference in New Issue
Block a user