Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec641297 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mm: vmscan: support complete shrinker reclaim"

parents 1bfb0a6c ec8ce5ec
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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)
@@ -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);