Hello,
Hard time to understand cma allocation how differs from normal allocation ?
I know theoretically how cma works.
1. How it reserved the memory (start pfn to end pfn) ? what is bitmap_* functions ?
2. How alloc_contig_range() works ? it isolate all the pages including unevictable pages, what is the practical work flow ? all this works with virtual pages or physical pages ?
3.what start_isolate_page_range() does ?
4. what alloc_contig_migrate_range does() ?
5.what isolate_migratepages_range(), reclaim_clean_pages_from_list(), migrate_pages() and shrink_page_list() is doing ?
Please let me know the flow with simple example.
Regards,
Pankaj
Hard time to understand cma allocation how differs from normal allocation ?
I know theoretically how cma works.
1. How it reserved the memory (start pfn to end pfn) ? what is bitmap_* functions ?
2. How alloc_contig_range() works ? it isolate all the pages including unevictable pages, what is the practical work flow ? all this works with virtual pages or physical pages ?
3.what start_isolate_page_range() does ?
4. what alloc_contig_migrate_range does() ?
5.what isolate_migratepages_range(), reclaim_clean_pages_from_list(), migrate_pages() and shrink_page_list() is doing ?
Please let me know the flow with simple example.
Regards,
Pankaj