Hi All, We are facing a cma memory alloc issue on linux 4.14.98 and lower version. In our platform imx8m, we using cma to allocate large continuous memory block to support zero-copy between video decode and display sub-system. But after long time loop video playback test, system will report alloc cma fail ret=busy. We take a deep look into cma.c found there are still some big free areas in cma->bitmap that maybe can alloc 3595 pages. Here are some questions: 1. in __alloc_contig_migrate_range() cc->nr_migratepages always been 0 Does cc->nr_migratepages = 0 means there is no page can be reclaimed or migrated? Which kind of pages that cannot been reclaimed. 2. The pages that are free in cma->bitmap seem not free in Buddy system? PageBuddy() test can also return false even if the page is in the free list in cma bitmap I test the fail page with page_is_file_cache(page) which return 0. comment show: 0 if @page is anonymous, tmpfs or otherwise ram or swap backed. What does swap backed mean? Which one maybe occupy these pages? Could someone give me a favor to debug this issue? Best regareds Jared Hu