hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/mm/madvise.c
....@@ -322,8 +322,11 @@
322322 struct page *page = NULL;
323323 LIST_HEAD(page_list);
324324 bool allow_shared = false;
325
+ bool abort_madvise = false;
326
+ bool skip = false;
325327
326
- if (fatal_signal_pending(current))
328
+ trace_android_vh_madvise_cold_or_pageout_abort(vma, &abort_madvise);
329
+ if (fatal_signal_pending(current) || abort_madvise)
327330 return -EINTR;
328331
329332 trace_android_vh_madvise_cold_or_pageout(vma, &allow_shared);
....@@ -417,6 +420,10 @@
417420 if (!page)
418421 continue;
419422
423
+ trace_android_vh_should_end_madvise(mm, &skip, &pageout);
424
+ if (skip)
425
+ break;
426
+
420427 /*
421428 * Creating a THP page is expensive so split it only if we
422429 * are sure it's worth. Split it if we are only owner.