summaryrefslogtreecommitdiffstats
path: root/fs/proc
diff options
context:
space:
mode:
authorHugh Dickins <hughd@google.com>2016-12-13 01:44:44 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-13 03:55:08 +0100
commitdc644a073769dd8949a75691eb4a5bdeb70a7d51 (patch)
treeda576c3a8a1e38cbef5f00ce3974f45295832a63 /fs/proc
parentmm, page_alloc: keep pcp count and list contents in sync if struct page is co... (diff)
downloadlinux-dc644a073769dd8949a75691eb4a5bdeb70a7d51.tar.xz
linux-dc644a073769dd8949a75691eb4a5bdeb70a7d51.zip
mm: add three more cond_resched() in swapoff
Add a cond_resched() in the unuse_pmd_range() loop (so as to call it even when pmd none or trans_huge, like zap_pmd_range() does); and in the unuse_mm() loop (since that might skip over many vmas). shmem_unuse() and radix_tree_locate_item() look good enough already. Those were the obvious places, but in fact the stalls came from find_next_to_unuse(), which sometimes scans through many unused entries. Apply scan_swap_map()'s LATENCY_LIMIT of 256 there too; and only go off to test frontswap_map when a used entry is found. Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1612052155140.13021@eggly.anvils Signed-off-by: Hugh Dickins <hughd@google.com> Reported-by: Eric Dumazet <edumazet@google.com> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc')
0 files changed, 0 insertions, 0 deletions