summaryrefslogtreecommitdiff
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r--mm/page-writeback.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index fd51ebfc423f..6b4fa64a5c91 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -1943,6 +1943,12 @@ void throttle_vm_writeout(gfp_t gfp_mask)
if (global_page_state(NR_UNSTABLE_NFS) +
global_page_state(NR_WRITEBACK) <= dirty_thresh)
break;
+ /* Try safe version */
+ else if (unlikely(global_page_state_snapshot(NR_UNSTABLE_NFS) +
+ global_page_state_snapshot(NR_WRITEBACK) <=
+ dirty_thresh))
+ break;
+
congestion_wait(BLK_RW_ASYNC, HZ/10);
/*