summaryrefslogtreecommitdiffstats
path: root/crypto/rmd320.c
diff options
context:
space:
mode:
authorMel Gorman2011-06-16 00:08:52 +0200
committerLinus Torvalds2011-06-16 05:04:02 +0200
commitf9e35b3b41f47c4e17d8132edbcab305a6aaa4b0 (patch)
treed489fff3885bb7c4df0eebd2f074a398420740e6 /crypto/rmd320.c
parentmm: vmscan: do not use page_count without a page pin (diff)
downloadkernel-qcow2-linux-f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0.tar.gz
kernel-qcow2-linux-f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0.tar.xz
kernel-qcow2-linux-f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0.zip
mm: compaction: abort compaction if too many pages are isolated and caller is asynchronous V2
Asynchronous compaction is used when promoting to huge pages. This is all very nice but if there are a number of processes in compacting memory, a large number of pages can be isolated. An "asynchronous" process can stall for long periods of time as a result with a user reporting that firefox can stall for 10s of seconds. This patch aborts asynchronous compaction if too many pages are isolated as it's better to fail a hugepage promotion than stall a process. [minchan.kim@gmail.com: return COMPACT_PARTIAL for abort] Reported-and-tested-by: Ury Stankevich <urykhy@gmail.com> Signed-off-by: Mel Gorman <mgorman@suse.de> Reviewed-by: Minchan Kim <minchan.kim@gmail.com> Reviewed-by: Michal Hocko <mhocko@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'crypto/rmd320.c')
0 files changed, 0 insertions, 0 deletions