This repository has been archived on 2026-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ubports_kernel_google_msm/include/linux
Mel Gorman 4f92e2586b mm: compaction: defer compaction using an exponential backoff when compaction fails
The fragmentation index may indicate that a failure is due to external
fragmentation but after a compaction run completes, it is still possible
for an allocation to fail.  There are two obvious reasons as to why

  o Page migration cannot move all pages so fragmentation remains
  o A suitable page may exist but watermarks are not met

In the event of compaction followed by an allocation failure, this patch
defers further compaction in the zone (1 << compact_defer_shift) times.
If the next compaction attempt also fails, compact_defer_shift is
increased up to a maximum of 6.  If compaction succeeds, the defer
counters are reset again.

The zone that is deferred is the first zone in the zonelist - i.e.  the
preferred zone.  To defer compaction in the other zones, the information
would need to be stored in the zonelist or implemented similar to the
zonelist_cache.  This would impact the fast-paths and is not justified at
this time.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Cc: Rik van Riel <riel@redhat.com>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-05-25 08:07:00 -07:00
..
2010-05-17 22:39:48 -07:00
2010-05-14 17:08:01 -04:00
2010-05-19 13:38:54 -04:00
2010-05-10 16:08:01 -07:00
2010-05-17 16:30:58 -07:00
2010-05-21 19:30:44 +02:00
2010-05-18 16:19:30 +10:00
2010-05-21 09:34:29 -07:00
2010-05-11 12:01:10 -07:00
2010-05-11 14:40:55 +02:00
2010-05-21 09:37:29 -07:00
2010-05-14 15:09:32 -04:00
2010-05-17 12:17:10 +03:00
2010-05-25 08:06:59 -07:00
2010-05-11 14:40:55 +02:00
2010-05-17 05:27:42 +02:00
2010-05-19 13:44:27 +10:00
2010-05-10 23:08:19 +02:00
2010-05-21 19:30:44 +02:00
2010-05-11 10:09:47 +02:00
2010-05-17 17:18:50 -07:00
2010-05-25 08:06:59 -07:00
2010-05-15 23:28:39 -07:00
2010-05-12 23:02:23 -07:00
2010-05-21 09:34:29 -07:00
2010-05-19 22:15:46 +09:30