diff --git a/lmkd.cpp b/lmkd.cpp index 6b15943..6911a81 100644 --- a/lmkd.cpp +++ b/lmkd.cpp @@ -2428,7 +2428,6 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_ static int64_t base_file_lru; static int64_t init_pgscan_kswapd; static int64_t init_pgscan_direct; - static int64_t swap_low_threshold; static bool killing; static int thrashing_limit = thrashing_limit_pct; static struct zone_watermarks watermarks; @@ -2453,6 +2452,7 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_ bool cut_thrashing_limit = false; int min_score_adj = 0; int swap_util = 0; + int64_t swap_low_threshold; long since_thrashing_reset_ms; int64_t workingset_refault_file; @@ -2501,10 +2501,10 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_ /* Check free swap levels */ if (swap_free_low_percentage) { - if (!swap_low_threshold) { - swap_low_threshold = mi.field.total_swap * swap_free_low_percentage / 100; - } + swap_low_threshold = mi.field.total_swap * swap_free_low_percentage / 100; swap_is_low = mi.field.free_swap < swap_low_threshold; + } else { + swap_low_threshold = 0; } /* Identify reclaim state */