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

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

Merge "Don't trigger congestion wait on dirty-but-not-writeout pages"

parents d10f74e6 86779d36
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -1556,19 +1556,18 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
		 * If dirty pages are scanned that are not queued for IO, it
		 * implies that flushers are not keeping up. In this case, flag
		 * the zone ZONE_TAIL_LRU_DIRTY and kswapd will start writing
		 * pages from reclaim context. It will forcibly stall in the
		 * next check.
		 * pages from reclaim context.
		 */
		if (nr_unqueued_dirty == nr_taken)
			zone_set_flag(zone, ZONE_TAIL_LRU_DIRTY);

		/*
		 * In addition, if kswapd scans pages marked marked for
		 * immediate reclaim and under writeback (nr_immediate), it
		 * implies that pages are cycling through the LRU faster than
		 * If kswapd scans pages marked marked for immediate
		 * reclaim and under writeback (nr_immediate), it implies
		 * that pages are cycling through the LRU faster than
		 * they are written so also forcibly stall.
		 */
		if (nr_unqueued_dirty == nr_taken || nr_immediate)
		if (nr_immediate)
			congestion_wait(BLK_RW_ASYNC, HZ/10);
	}