ANDROID: vendor_hooks:vendor hook for madvise_cold_or_pageout_pte_range.
add vendor hook in madvise_cold_or_pageout_pte_range to control the pages to be reclaimed more fine-grained. Bug: 284808098 Signed-off-by: zhouwenhao <zhouwenhao@xiaomi.com> Change-Id: I298fde436df192cea9b1541d857f3a46808e06f2
This commit is contained in:
parent
f73aafc29b
commit
87f8c82651
3 changed files with 12 additions and 1 deletions
|
|
@ -306,3 +306,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_encrypt_page);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_init_aes_encrypt);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_skip_swap_map_write);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_post_image_save);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_madvise_cold_pageout_skip);
|
||||
|
|
|
|||
|
|
@ -98,10 +98,12 @@ DECLARE_HOOK(android_vh_si_mem_available_adjust,
|
|||
DECLARE_HOOK(android_vh_si_meminfo_adjust,
|
||||
TP_PROTO(unsigned long *totalram, unsigned long *freeram),
|
||||
TP_ARGS(totalram, freeram));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_ctl_dirty_rate,
|
||||
TP_PROTO(void *unused),
|
||||
TP_ARGS(unused), 1);
|
||||
DECLARE_HOOK(android_vh_madvise_cold_pageout_skip,
|
||||
TP_PROTO(struct vm_area_struct *vma, struct page *page, bool pageout, bool *need_skip),
|
||||
TP_ARGS(vma, page, pageout, need_skip));
|
||||
|
||||
struct mem_cgroup;
|
||||
DECLARE_HOOK(android_vh_mem_cgroup_alloc,
|
||||
|
|
|
|||
|
|
@ -438,6 +438,8 @@ regular_page:
|
|||
flush_tlb_batched_pending(mm);
|
||||
arch_enter_lazy_mmu_mode();
|
||||
for (; addr < end; pte++, addr += PAGE_SIZE) {
|
||||
bool need_skip = false;
|
||||
|
||||
ptent = *pte;
|
||||
|
||||
if (pte_none(ptent))
|
||||
|
|
@ -454,6 +456,12 @@ regular_page:
|
|||
if (!page || is_zone_device_page(page))
|
||||
continue;
|
||||
|
||||
trace_android_vh_madvise_cold_pageout_skip(vma, page, pageout,
|
||||
&need_skip);
|
||||
|
||||
if (need_skip)
|
||||
continue;
|
||||
|
||||
/*
|
||||
* Creating a THP page is expensive so split it only if we
|
||||
* are sure it's worth. Split it if we are only owner.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue