Free pages belonging to Contiguous Memory Allocator (CMA) areas cannot be used by unmovable allocations and this fact should be accounted for while doing zone watermark checking. Additionaly while CMA pages are isolated they shouldn't be included in the total number of free pages (as they cannot be allocated while they are isolated). The following patch series should fix both issues. It is based on top of recent Minchan's CMA series (https://lkml.org/lkml/2012/8/14/81 "[RFC 0/2] Reduce alloc_contig_range latency"). v4: - update patch description in patch #1 - add unlikely() to patch #2 (noticed by Minchan Kim) - fix whitespace change in patch #2 (noticed by Mel Gorman) - add __mod_zone_freepage_state() in patch #3 (from Minchan) - fold patch #4 into patch #5 (suggested by Minchan) - use ALLOC_CMA alloc flag instead of gfp_flags (from Minchan) v3: - fix tracing in free_pcppages_bulk() - fix counting of free CMA pages (broken by v2) v2: - no need to call get_pageblock_migratetype() in free_one_page() in patch #1 (thanks to review from Michal Nazarewicz) - fix issues pointed in http://www.spinics.net/lists/linux-mm/msg41017.html in patch #2 (ditto) - remove no longer needed is_cma_pageblock() from patch #2 Bartlomiej Zolnierkiewicz (4): mm: fix tracing in free_pcppages_bulk() cma: fix counting of isolated pages cma: count free CMA pages cma: fix watermark checking include/linux/mmzone.h | 16 ++++++++++++ include/linux/vmstat.h | 8 ++++++ mm/compaction.c | 8 +++++- mm/page_alloc.c | 68 +++++++++++++++++++++++++++++++------------------- mm/page_isolation.c | 13 +++++++--- mm/vmstat.c | 1 + 6 files changed, 85 insertions(+), 29 deletions(-) -- 1.7.11.3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>