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

Commit 86a0648a authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mm: vmscan: do not pass reclaimed slab to vmpressure"

parents 0d88cce3 392e2f53
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3443,7 +3443,7 @@ int finish_fault(struct vm_fault *vmf)
}

static unsigned long fault_around_bytes __read_mostly =
	rounddown_pow_of_two(65536);
	rounddown_pow_of_two(4096);

#ifdef CONFIG_DEBUG_FS
static int fault_around_bytes_get(void *data, u64 *val)
+12 −5
Original line number Diff line number Diff line
@@ -2666,16 +2666,23 @@ static bool shrink_node(pg_data_t *pgdat, struct scan_control *sc)
				    sc->nr_scanned - nr_scanned,
				    node_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, true,
			   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;
		}

		/* Record the subtree's reclaim efficiency */
		vmpressure(sc->gfp_mask, sc->target_mem_cgroup, true,
			   sc->nr_scanned - nr_scanned,
			   sc->nr_reclaimed - nr_reclaimed);

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