Tetsuo Handa wrote: > Dave, if you are OK with this updated patch, please let me know commit ID of your patch. I overlooked that too_many_isolated() in mm/vmscan.c already has if (current_is_kswapd()) return 0; lines. Therefore, it turned out that my patch is irrelevant to XFS issue. Does patch shown below make sense? Regards. ---------- >From e133aadd65df3d8622efced3443888ed3e60327b Mon Sep 17 00:00:00 2001 From: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Mon, 26 May 2014 20:37:12 +0900 Subject: [PATCH] mm/vmscan: Do not throttle when hibernation_mode != 0. In shrink_inactive_list(), we do not insert delay at if (!sc->hibernation_mode && !current_is_kswapd()) wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); if sc->hibernation_mode != 0. Follow the same reason, we should not insert delay at while (unlikely(too_many_isolated(zone, file, sc))) { congestion_wait(BLK_RW_ASYNC, HZ/10); /* We are about to die and free our memory. Return now. */ if (fatal_signal_pending(current)) return SWAP_CLUSTER_MAX; } if sc->hibernation_mode != 0. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> --- mm/vmscan.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 32c661d..89c42ca 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1362,6 +1362,9 @@ static int too_many_isolated(struct zone *zone, int file, if (current_is_kswapd()) return 0; + if (sc->hibernation_mode) + return 0; + if (!global_reclaim(sc)) return 0; -- 1.7.1 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs