diff options
author | Mel Gorman <[email protected]> | 2011-06-15 15:08:52 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2011-06-15 20:04:02 -0700 |
commit | f9e35b3b41f47c4e17d8132edbcab305a6aaa4b0 (patch) | |
tree | d489fff3885bb7c4df0eebd2f074a398420740e6 /net/lapb/lapb_subr.c | |
parent | d179e84ba5da1d0024087d1759a2938817a00f3f (diff) |
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.
[[email protected]: return COMPACT_PARTIAL for abort]
Reported-and-tested-by: Ury Stankevich <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Reviewed-by: Minchan Kim <[email protected]>
Reviewed-by: Michal Hocko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions