summaryrefslogtreecommitdiffstats
path: root/lib/bcd.c
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2011-06-15 15:08:52 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-06-15 20:04:02 -0700
commitf9e35b3b41f47c4e17d8132edbcab305a6aaa4b0 (patch)
treed489fff3885bb7c4df0eebd2f074a398420740e6 /lib/bcd.c
parentd179e84ba5da1d0024087d1759a2938817a00f3f (diff)
downloadtalos-obmc-linux-f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0.tar.gz
talos-obmc-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 'lib/bcd.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud