the pages being used in the system come from CMA, and now need recycling
them for new CMA allocation, it need to allocate a new page for storing data
that will be reclaim CMA's pages, but new page may also be come from CMA memory
when memory allocate fall back to MIGRATE_CMA freelist.
Now we protect the CMA's pages in the memory fallback allocate
[ 1637.058550] alloc_contig_range test_pages_isolated(431a0, 431c0) failed
page = list_entry(area->free_list[migratetype].next,
struct page, lru);
+
+#ifdef CONFIG_ARCH_ROCKCHIP
+ if (is_migrate_cma(migratetype)){
+ int mt = get_pageblock_migratetype(page);
+ if (unlikely(is_migrate_isolate(mt)))
+ continue;
+ }
+#endif
+
area->nr_free--;
/*