android_kernel_msm-6.1_noth.../drivers/android
Oven a8206e3023 ANDROID: vendor_hooks: Add hooks to avoid key threads stalled in
memory allocations

We add these hooks to avoid key threads blocked in memory allocation
path.
-android_vh_free_unref_page_bypass  ----We create a memory pool for the
key threads. This hook determines whether a page should be free to the
pool or to buddy freelist. It works with a existing hook
`android_vh_alloc_pages_reclaim_bypass`, which takes pages out of the
pool.

-android_vh_kvmalloc_node_use_vmalloc  ----For key threads, we perfer
not to run into direct reclaim. So we clear __GFP_DIRECT_RECLAIM flag.
For threads which are not that important, we perfer use vmalloc.

-android_vh_should_alloc_pages_retry  ----Before key threads run into
direct reclaim, we want to retry with a lower watermark.

-android_vh_unreserve_highatomic_bypass  ----We want to keep more
highatomic pages when unreserve them to avoid highatomic allocation
failures.

-android_vh_rmqueue_bulk_bypass  ----We found sometimes when key threads
run into rmqueue_bulk,  it took several milliseconds spinning at
zone->lock or filling per-cpu pages. We use this hook to take pages from
the mempool mentioned above,  rather than grab zone->lock and fill a
batch of pages to per-cpu.

Bug: 288216516
Change-Id: I1656032d6819ca627723341987b6094775bc345f
Signed-off-by: Oven <liyangouwen1@oppo.com>
2023-11-06 23:07:00 +00:00
..
android_debug_symbols.c ANDROID: android: Create debug_symbols driver 2023-06-30 10:39:56 +00:00
binder.c Merge tag 'android14-6.1.43_r00' into android14-6.1 2023-10-26 17:34:36 +00:00
binder_alloc.c UPSTREAM: binder: fix UAF of alloc->vma in race with munmap() 2023-06-14 16:40:59 +00:00
binder_alloc.h UPSTREAM: Revert "android: binder: stop saving a pointer to the VMA" 2023-06-14 16:40:59 +00:00
binder_alloc_selftest.c UPSTREAM: Revert "android: binder: stop saving a pointer to the VMA" 2023-06-14 16:40:59 +00:00
binder_internal.h FROMGIT: Binder: Add async from to transaction record 2023-06-07 14:25:07 +00:00
binder_trace.h
binderfs.c binderfs: rework superblock destruction 2022-09-01 16:18:49 +02:00
debug_kinfo.c
debug_kinfo.h
Kconfig ANDROID: android: Create debug_symbols driver 2023-06-30 10:39:56 +00:00
Makefile ANDROID: android: Create debug_symbols driver 2023-06-30 10:39:56 +00:00
vendor_hooks.c ANDROID: vendor_hooks: Add hooks to avoid key threads stalled in 2023-11-06 23:07:00 +00:00