Loading arch/arm64/configs/vendor/kona-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ CONFIG_MEMORY_HOTREMOVE=y CONFIG_CMA=y CONFIG_CMA_AREAS=16 CONFIG_ZSMALLOC=y CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading arch/arm64/configs/vendor/kona_defconfig +2 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ CONFIG_CMA=y CONFIG_CMA_DEBUGFS=y CONFIG_CMA_AREAS=16 CONFIG_ZSMALLOC=y CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading Loading @@ -686,6 +687,7 @@ CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_PAGEALLOC=y CONFIG_SLUB_DEBUG_PANIC_ON=y CONFIG_DEBUG_PANIC_ON_OOM=y CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y CONFIG_PAGE_POISONING=y CONFIG_PAGE_POISONING_ENABLE_DEFAULT=y Loading include/linux/oom.h +12 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,18 @@ extern struct task_struct *find_lock_task_mm(struct task_struct *p); extern void dump_tasks(struct mem_cgroup *memcg, const nodemask_t *nodemask); #ifdef CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER extern bool should_ulmk_retry(void); extern void ulmk_update_last_kill(void); #else static inline bool should_ulmk_retry(void) { return false; } static inline void ulmk_update_last_kill(void) {} #endif /* sysctls */ extern int sysctl_oom_dump_tasks; extern int sysctl_oom_kill_allocating_task; Loading kernel/signal.c +3 −1 Original line number Diff line number Diff line Loading @@ -1370,8 +1370,10 @@ int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, if (!ret && sig) { ret = do_send_sig_info(sig, info, p, type); if (capable(CAP_KILL) && sig == SIGKILL) if (capable(CAP_KILL) && sig == SIGKILL) { add_to_oom_reaper(p); ulmk_update_last_kill(); } } return ret; Loading mm/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -803,6 +803,15 @@ config SPECULATIVE_PAGE_FAULT allocating, it is failing its processing and a classic page fault is then tried. config HAVE_USERSPACE_LOW_MEMORY_KILLER bool "Have userspace low memory killer" default n help The page allocator cannot directly call into a userspace low memory killer as it can call into the OOM killer. Therefore, add a timeout mechanism to give the userspace low memory killer a chance to run. config GUP_BENCHMARK bool "Enable infrastructure for get_user_pages_fast() benchmarking" default n Loading Loading
arch/arm64/configs/vendor/kona-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ CONFIG_MEMORY_HOTREMOVE=y CONFIG_CMA=y CONFIG_CMA_AREAS=16 CONFIG_ZSMALLOC=y CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading
arch/arm64/configs/vendor/kona_defconfig +2 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ CONFIG_CMA=y CONFIG_CMA_DEBUGFS=y CONFIG_CMA_AREAS=16 CONFIG_ZSMALLOC=y CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading Loading @@ -686,6 +687,7 @@ CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_PAGEALLOC=y CONFIG_SLUB_DEBUG_PANIC_ON=y CONFIG_DEBUG_PANIC_ON_OOM=y CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y CONFIG_PAGE_POISONING=y CONFIG_PAGE_POISONING_ENABLE_DEFAULT=y Loading
include/linux/oom.h +12 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,18 @@ extern struct task_struct *find_lock_task_mm(struct task_struct *p); extern void dump_tasks(struct mem_cgroup *memcg, const nodemask_t *nodemask); #ifdef CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER extern bool should_ulmk_retry(void); extern void ulmk_update_last_kill(void); #else static inline bool should_ulmk_retry(void) { return false; } static inline void ulmk_update_last_kill(void) {} #endif /* sysctls */ extern int sysctl_oom_dump_tasks; extern int sysctl_oom_kill_allocating_task; Loading
kernel/signal.c +3 −1 Original line number Diff line number Diff line Loading @@ -1370,8 +1370,10 @@ int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, if (!ret && sig) { ret = do_send_sig_info(sig, info, p, type); if (capable(CAP_KILL) && sig == SIGKILL) if (capable(CAP_KILL) && sig == SIGKILL) { add_to_oom_reaper(p); ulmk_update_last_kill(); } } return ret; Loading
mm/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -803,6 +803,15 @@ config SPECULATIVE_PAGE_FAULT allocating, it is failing its processing and a classic page fault is then tried. config HAVE_USERSPACE_LOW_MEMORY_KILLER bool "Have userspace low memory killer" default n help The page allocator cannot directly call into a userspace low memory killer as it can call into the OOM killer. Therefore, add a timeout mechanism to give the userspace low memory killer a chance to run. config GUP_BENCHMARK bool "Enable infrastructure for get_user_pages_fast() benchmarking" default n Loading