ANDROID: vendor_hooks: Add hooks to madvise_cold_or_pageout_pte_range()
Provide a vendor hook android_vh_page_isolated_for_reclaim to process whether the page should be reclaimed to a specified swap(i.e., the expanded memory). This strategy will take into account the state of the current process/application, resource usage, and other information. Bug: 234214858 Signed-off-by: Bing Han <bing.han@transsion.com> Change-Id: Id80a377c87bea13922e7b23963b050ab37ba0cb0
This commit is contained in:

committed by
Treehugger Robot

parent
6b7243da5e
commit
e3f469befb
@@ -407,5 +407,6 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_handle_tlb_conf);
|
|||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ra_tuning_max_page);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ra_tuning_max_page);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_memcg_scan_type);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_memcg_scan_type);
|
||||||
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_isolated_for_reclaim);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_inactive_is_low);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_inactive_is_low);
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_snapshot_refaults);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_snapshot_refaults);
|
||||||
|
@@ -149,6 +149,9 @@ DECLARE_HOOK(android_vh_subpage_dma_contig_alloc,
|
|||||||
DECLARE_HOOK(android_vh_ra_tuning_max_page,
|
DECLARE_HOOK(android_vh_ra_tuning_max_page,
|
||||||
TP_PROTO(struct readahead_control *ractl, unsigned long *max_page),
|
TP_PROTO(struct readahead_control *ractl, unsigned long *max_page),
|
||||||
TP_ARGS(ractl, max_page));
|
TP_ARGS(ractl, max_page));
|
||||||
|
DECLARE_HOOK(android_vh_page_isolated_for_reclaim,
|
||||||
|
TP_PROTO(struct mm_struct *mm, struct page *page),
|
||||||
|
TP_ARGS(mm, page));
|
||||||
/* macro versions of hooks are no longer required */
|
/* macro versions of hooks are no longer required */
|
||||||
|
|
||||||
#endif /* _TRACE_HOOK_MM_H */
|
#endif /* _TRACE_HOOK_MM_H */
|
||||||
|
@@ -29,6 +29,7 @@
|
|||||||
#include <linux/swapops.h>
|
#include <linux/swapops.h>
|
||||||
#include <linux/shmem_fs.h>
|
#include <linux/shmem_fs.h>
|
||||||
#include <linux/mmu_notifier.h>
|
#include <linux/mmu_notifier.h>
|
||||||
|
#include <trace/hooks/mm.h>
|
||||||
|
|
||||||
#include <asm/tlb.h>
|
#include <asm/tlb.h>
|
||||||
|
|
||||||
@@ -462,8 +463,10 @@ regular_page:
|
|||||||
if (!isolate_lru_page(page)) {
|
if (!isolate_lru_page(page)) {
|
||||||
if (PageUnevictable(page))
|
if (PageUnevictable(page))
|
||||||
putback_lru_page(page);
|
putback_lru_page(page);
|
||||||
else
|
else {
|
||||||
list_add(&page->lru, &page_list);
|
list_add(&page->lru, &page_list);
|
||||||
|
trace_android_vh_page_isolated_for_reclaim(mm, page);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
deactivate_page(page);
|
deactivate_page(page);
|
||||||
|
Reference in New Issue
Block a user