Loading mm/vmscan.c +8 −1 Original line number Diff line number Diff line Loading @@ -293,6 +293,10 @@ unsigned long shrink_slab(struct shrink_control *shrink, long new_nr; long batch_size = shrinker->batch ? shrinker->batch : SHRINK_BATCH; long min_cache_size = batch_size; if (current_is_kswapd()) min_cache_size = 0; max_pass = do_shrinker_shrink(shrinker, shrink, 0); if (max_pass <= 0) Loading Loading @@ -344,9 +348,12 @@ unsigned long shrink_slab(struct shrink_control *shrink, nr_pages_scanned, lru_pages, max_pass, delta, total_scan); while (total_scan >= batch_size) { while (total_scan > min_cache_size) { int nr_before; if (total_scan < batch_size) batch_size = total_scan; nr_before = do_shrinker_shrink(shrinker, shrink, 0); shrink_ret = do_shrinker_shrink(shrinker, shrink, batch_size); Loading Loading
mm/vmscan.c +8 −1 Original line number Diff line number Diff line Loading @@ -293,6 +293,10 @@ unsigned long shrink_slab(struct shrink_control *shrink, long new_nr; long batch_size = shrinker->batch ? shrinker->batch : SHRINK_BATCH; long min_cache_size = batch_size; if (current_is_kswapd()) min_cache_size = 0; max_pass = do_shrinker_shrink(shrinker, shrink, 0); if (max_pass <= 0) Loading Loading @@ -344,9 +348,12 @@ unsigned long shrink_slab(struct shrink_control *shrink, nr_pages_scanned, lru_pages, max_pass, delta, total_scan); while (total_scan >= batch_size) { while (total_scan > min_cache_size) { int nr_before; if (total_scan < batch_size) batch_size = total_scan; nr_before = do_shrinker_shrink(shrinker, shrink, 0); shrink_ret = do_shrinker_shrink(shrinker, shrink, batch_size); Loading