X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=mm%2Fpage_alloc.c;h=bf6c9285013fb0372693ef82f75cdd50007b2620;hb=77e142e21dfd6507f7d1f0464c12f9e5502e1f10;hp=4cfdc64482c85a59dc3e242ef793bcbfb5456315;hpb=3736e39e6a6e546d59f97aa6b6b040b118fe169f;p=firefly-linux-kernel-4.4.55.git diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 4cfdc64482c8..bf6c9285013f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1050,6 +1050,15 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype) 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--; /* @@ -4542,7 +4551,7 @@ static inline void setup_usemap(struct pglist_data *pgdat, struct zone *zone, #ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE /* Initialise the number of pages represented by NR_PAGEBLOCK_BITS */ -void __init set_pageblock_order(void) +void __paginginit set_pageblock_order(void) { unsigned int order; @@ -4570,7 +4579,7 @@ void __init set_pageblock_order(void) * include/linux/pageblock-flags.h for the values of pageblock_order based on * the kernel config */ -void __init set_pageblock_order(void) +void __paginginit set_pageblock_order(void) { }