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

Commit 82fd1a9a authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

mm: write_cache_pages more terminate quickly



Now that we have the early-termination logic in place, it makes sense to
bail out early in all other cases where done is set to 1.

Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Dave Chinner <david@fromorbit.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d5482cdf
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -983,12 +983,15 @@ int write_cache_pages(struct address_space *mapping,

			if (wbc->sync_mode == WB_SYNC_NONE) {
				wbc->nr_to_write--;
				if (wbc->nr_to_write <= 0)
				if (wbc->nr_to_write <= 0) {
					done = 1;
					break;
				}
			}
			if (wbc->nonblocking && bdi_write_congested(bdi)) {
				wbc->encountered_congestion = 1;
				done = 1;
				break;
			}
		}
		pagevec_release(&pvec);