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

Commit 6cf18cf0 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: do not pass reclaimed slab to vmpressure"

parents 1449de51 280a2d36
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -2547,15 +2547,23 @@ static bool shrink_zone(struct zone *zone, struct scan_control *sc,
				    sc->nr_scanned - nr_scanned,
				    zone_lru_pages);

		/*
		 * Record the subtree's reclaim efficiency. The reclaimed
		 * pages from slab is excluded here because the corresponding
		 * scanned pages is not accounted. Moreover, freeing a page
		 * by slab shrinking depends on each slab's object population,
		 * making the cost model (i.e. scan:free) different from that
		 * of LRU.
		 */
		vmpressure(sc->gfp_mask, sc->target_mem_cgroup,
			   sc->nr_scanned - nr_scanned,
			   sc->nr_reclaimed - nr_reclaimed);

		if (reclaim_state) {
			sc->nr_reclaimed += reclaim_state->reclaimed_slab;
			reclaim_state->reclaimed_slab = 0;
		}

		vmpressure(sc->gfp_mask, sc->target_mem_cgroup,
			   sc->nr_scanned - nr_scanned,
			   sc->nr_reclaimed - nr_reclaimed);

		if (sc->nr_reclaimed - nr_reclaimed)
			reclaimable = true;