diff --git a/arch/arm64/configs/vendor/lahaina_QGKI.config b/arch/arm64/configs/vendor/lahaina_QGKI.config index 7d2d35b8c5b3..62fdd1828222 100644 --- a/arch/arm64/configs/vendor/lahaina_QGKI.config +++ b/arch/arm64/configs/vendor/lahaina_QGKI.config @@ -115,3 +115,4 @@ CONFIG_CRYPTO_DEV_QCRYPTO=y CONFIG_CRYPTO_DEV_QCEDEV=y CONFIG_THERMAL_TSENS=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER=y diff --git a/arch/arm64/configs/vendor/lahaina_debug.config b/arch/arm64/configs/vendor/lahaina_debug.config index a10291ac76c6..fd94bcf5d3a1 100644 --- a/arch/arm64/configs/vendor/lahaina_debug.config +++ b/arch/arm64/configs/vendor/lahaina_debug.config @@ -47,3 +47,5 @@ CONFIG_SLIMBUS_MSM_NGD=y CONFIG_QCOM_SMCINVOKE=y CONFIG_MSM_DEBUGCC_LAHAINA=y CONFIG_QRTR_MHI=y +CONFIG_DEBUG_PANIC_ON_OOM=y +# CONFIG_USB_F_FS_IPC_LOGGING is not set diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 1b076aa6a1e6..b6783179e9b2 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -56,7 +56,7 @@ int sysctl_panic_on_oom = IS_ENABLED(CONFIG_DEBUG_PANIC_ON_OOM) ? 2 : 0; int sysctl_oom_kill_allocating_task; int sysctl_oom_dump_tasks = 1; -int sysctl_reap_mem_on_sigkill; +int sysctl_reap_mem_on_sigkill = 1; /* * Serializes oom killer invocations (out_of_memory()) from all contexts to @@ -1177,6 +1177,10 @@ void pagefault_out_of_memory(void) .order = 0, }; + if (IS_ENABLED(CONFIG_HAVE_LOW_MEMORY_KILLER) || + IS_ENABLED(CONFIG_HAVE_USERSPACE_LOW_MEMORY_KILLER)) + return; + if (mem_cgroup_oom_synchronize(true)) return; diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 3f62feb6dad5..4abaae89ad8c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -7896,11 +7896,11 @@ static void __setup_per_zone_wmarks(void) mult_frac(zone_managed_pages(zone), watermark_scale_factor, 10000)); + zone->watermark_boost = 0; zone->_watermark[WMARK_LOW] = min_wmark_pages(zone) + low + tmp; zone->_watermark[WMARK_HIGH] = min_wmark_pages(zone) + low + tmp * 2; - zone->watermark_boost = 0; spin_unlock_irqrestore(&zone->lock, flags); }