Searched refs:migratetype (Results 1 - 14 of 14) sorted by relevance

/linux-4.1.27/include/linux/
H A Dpage-isolation.h13 static inline bool is_migrate_isolate(int migratetype) is_migrate_isolate() argument
15 return migratetype == MIGRATE_ISOLATE; is_migrate_isolate()
26 static inline bool is_migrate_isolate(int migratetype) is_migrate_isolate() argument
34 void set_pageblock_migratetype(struct page *page, int migratetype);
36 int migratetype);
39 int migratetype);
52 unsigned migratetype, bool skip_hwpoisoned_pages);
60 unsigned migratetype);
72 void unset_migratetype_isolate(struct page *page, unsigned migratetype);
H A Dvmstat.h281 int migratetype) __mod_zone_freepage_state()
284 if (is_migrate_cma(migratetype)) __mod_zone_freepage_state()
280 __mod_zone_freepage_state(struct zone *zone, int nr_pages, int migratetype) __mod_zone_freepage_state() argument
H A Dmmzone.h51 * The way to use it is to change migratetype of a range of
67 # define is_migrate_cma(migratetype) unlikely((migratetype) == MIGRATE_CMA)
69 # define is_migrate_cma(migratetype) false
437 * freepage counting problem due to racy retrieving migratetype
H A Dgfp.h410 unsigned migratetype);
H A Dmm.h307 static inline void set_freepage_migratetype(struct page *page, int migratetype) set_freepage_migratetype() argument
309 page->index = migratetype; set_freepage_migratetype()
/linux-4.1.27/include/trace/events/
H A Dkmem.h220 gfp_t gfp_flags, int migratetype),
222 TP_ARGS(page, order, gfp_flags, migratetype),
228 __field( int, migratetype )
235 __entry->migratetype = migratetype;
238 TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s",
242 __entry->migratetype,
248 TP_PROTO(struct page *page, unsigned int order, int migratetype),
250 TP_ARGS(page, order, migratetype),
255 __field( int, migratetype )
261 __entry->migratetype = migratetype;
264 TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d",
268 __entry->migratetype,
274 TP_PROTO(struct page *page, unsigned int order, int migratetype),
276 TP_ARGS(page, order, migratetype)
281 TP_PROTO(struct page *page, unsigned int order, int migratetype),
283 TP_ARGS(page, order, migratetype),
299 __field( int, migratetype )
305 __entry->migratetype = migratetype;
308 TP_printk("page=%p pfn=%lu order=%d migratetype=%d",
310 __entry->order, __entry->migratetype)
/linux-4.1.27/mm/
H A Dpage_isolation.c31 * migratetype is not MIGRATE_MOVABLE. The memory isolation set_migratetype_isolate()
60 int migratetype = get_pageblock_migratetype(page); set_migratetype_isolate() local
66 __mod_zone_freepage_state(zone, -nr_pages, migratetype); set_migratetype_isolate()
75 void unset_migratetype_isolate(struct page *page, unsigned migratetype) unset_migratetype_isolate() argument
120 nr_pages = move_freepages_block(zone, page, migratetype); unset_migratetype_isolate()
121 __mod_zone_freepage_state(zone, nr_pages, migratetype); unset_migratetype_isolate()
123 set_pageblock_migratetype(page, migratetype); unset_migratetype_isolate()
148 * @migratetype: migrate type to set in error recovery.
158 unsigned migratetype, bool skip_hwpoisoned_pages) start_isolate_page_range()
182 unset_migratetype_isolate(pfn_to_page(pfn), migratetype); start_isolate_page_range() local
191 unsigned migratetype) undo_isolate_page_range()
203 unset_migratetype_isolate(page, migratetype); undo_isolate_page_range()
273 * Then we just check migratetype first. test_pages_isolated()
157 start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, unsigned migratetype, bool skip_hwpoisoned_pages) start_isolate_page_range() argument
190 undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, unsigned migratetype) undo_isolate_page_range() argument
H A Dpage_alloc.c238 void set_pageblock_migratetype(struct page *page, int migratetype) set_pageblock_migratetype() argument
241 migratetype < MIGRATE_PCPTYPES)) set_pageblock_migratetype()
242 migratetype = MIGRATE_UNMOVABLE; set_pageblock_migratetype()
244 set_pageblock_flags_group(page, (unsigned long)migratetype, set_pageblock_migratetype()
451 unsigned int order, int migratetype) set_page_guard()
464 __mod_zone_freepage_state(zone, -(1 << order), migratetype); set_page_guard()
468 unsigned int order, int migratetype) clear_page_guard()
479 if (!is_migrate_isolate(migratetype)) clear_page_guard()
480 __mod_zone_freepage_state(zone, (1 << order), migratetype); clear_page_guard()
485 unsigned int order, int migratetype) {} clear_page_guard()
487 unsigned int order, int migratetype) {}
576 int migratetype) __free_one_page()
589 VM_BUG_ON(migratetype == -1); __free_one_page()
590 if (likely(!is_migrate_isolate(migratetype))) __free_one_page()
591 __mod_zone_freepage_state(zone, 1 << order, migratetype); __free_one_page()
609 clear_page_guard(zone, buddy, order, migratetype); __free_one_page()
636 if (migratetype != buddy_mt __free_one_page()
637 && (is_migrate_isolate(migratetype) || __free_one_page()
664 &zone->free_area[order].free_list[migratetype]); __free_one_page()
669 list_add(&page->lru, &zone->free_area[order].free_list[migratetype]); __free_one_page()
717 int migratetype = 0; free_pcppages_bulk() local
740 if (++migratetype == MIGRATE_PCPTYPES) free_pcppages_bulk()
741 migratetype = 0; free_pcppages_bulk()
742 list = &pcp->lists[migratetype]; free_pcppages_bulk()
750 int mt; /* migratetype of the to-be-freed page */ free_pcppages_bulk()
770 int migratetype) free_one_page()
779 is_migrate_isolate(migratetype))) { free_one_page()
780 migratetype = get_pfnblock_migratetype(page, pfn); free_one_page()
782 __free_one_page(page, pfn, zone, order, migratetype); free_one_page()
841 int migratetype; __free_pages_ok() local
847 migratetype = get_pfnblock_migratetype(page, pfn); __free_pages_ok()
850 set_freepage_migratetype(page, migratetype); __free_pages_ok()
851 free_one_page(page_zone(page), page, pfn, order, migratetype); __free_pages_ok() local
923 int migratetype) expand()
942 set_page_guard(zone, &page[size], high, migratetype); expand()
945 list_add(&page[size].lru, &area->free_list[migratetype]); expand()
1025 * Go through the free lists for the given migratetype and remove
1030 int migratetype) __rmqueue_smallest()
1039 if (list_empty(&area->free_list[migratetype])) __rmqueue_smallest()
1042 page = list_entry(area->free_list[migratetype].next, __rmqueue_smallest()
1047 expand(zone, page, order, current_order, area, migratetype); __rmqueue_smallest()
1048 set_freepage_migratetype(page, migratetype); __rmqueue_smallest()
1091 int migratetype) move_freepages()
1124 &zone->free_area[order].free_list[migratetype]); move_freepages()
1125 set_freepage_migratetype(page, migratetype); move_freepages()
1134 int migratetype) move_freepages_block()
1151 return move_freepages(zone, start_page, end_page, migratetype); move_freepages_block()
1155 int start_order, int migratetype) change_pageblock_range()
1160 set_pageblock_migratetype(pageblock_page, migratetype); change_pageblock_range()
1166 * When we are falling back to another migratetype during allocation, try to
1202 * pages are moved, we can change migratetype of pageblock and permanently
1203 * use it's pages as requested migratetype in the future.
1229 * fragmentation due to mixed migratetype pages in one pageblock.
1232 int migratetype, bool only_stealable, bool *can_steal) find_suitable_fallback()
1242 fallback_mt = fallbacks[migratetype][i]; find_suitable_fallback()
1249 if (can_steal_fallback(order, migratetype)) find_suitable_fallback()
1296 * migratetype depending on the decisions in __rmqueue_fallback()
1318 int migratetype) __rmqueue()
1323 page = __rmqueue_smallest(zone, order, migratetype); __rmqueue()
1325 if (unlikely(!page) && migratetype != MIGRATE_RESERVE) { __rmqueue()
1326 if (migratetype == MIGRATE_MOVABLE) __rmqueue()
1330 page = __rmqueue_fallback(zone, order, migratetype); __rmqueue()
1338 migratetype = MIGRATE_RESERVE; __rmqueue()
1343 trace_mm_page_alloc_zone_locked(page, order, migratetype); __rmqueue()
1354 int migratetype, bool cold) rmqueue_bulk()
1360 struct page *page = __rmqueue(zone, order, migratetype); rmqueue_bulk()
1569 int migratetype; free_hot_cold_page() local
1574 migratetype = get_pfnblock_migratetype(page, pfn); free_hot_cold_page()
1575 set_freepage_migratetype(page, migratetype); free_hot_cold_page()
1586 if (migratetype >= MIGRATE_PCPTYPES) { free_hot_cold_page()
1587 if (unlikely(is_migrate_isolate(migratetype))) { free_hot_cold_page()
1588 free_one_page(zone, page, pfn, 0, migratetype); free_hot_cold_page()
1591 migratetype = MIGRATE_MOVABLE; free_hot_cold_page()
1596 list_add(&page->lru, &pcp->lists[migratetype]); free_hot_cold_page()
1598 list_add_tail(&page->lru, &pcp->lists[migratetype]); free_hot_cold_page()
1697 * being used for migration, the migratetype of the block also changes.
1728 gfp_t gfp_flags, int migratetype) buffered_rmqueue()
1740 list = &pcp->lists[migratetype]; buffered_rmqueue()
1744 migratetype, cold); buffered_rmqueue()
1771 page = __rmqueue(zone, order, migratetype); buffered_rmqueue()
2252 gfp_mask, ac->migratetype); get_page_from_freelist()
2880 .migratetype = gfpflags_to_migratetype(gfp_mask), __alloc_pages_nodemask()
2900 if (IS_ENABLED(CONFIG_CMA) && ac.migratetype == MIGRATE_MOVABLE) __alloc_pages_nodemask()
2933 trace_mm_page_alloc(page, order, alloc_mask, ac.migratetype); __alloc_pages_nodemask()
4356 int migratetype; pageset_init() local
4362 for (migratetype = 0; migratetype < MIGRATE_PCPTYPES; migratetype++) pageset_init()
4363 INIT_LIST_HEAD(&pcp->lists[migratetype]); pageset_init()
6418 * @migratetype: migratetype of the underlaying pageblocks (either
6420 * in range must have the same migratetype and it must
6435 unsigned migratetype) alloc_contig_range()
6475 pfn_max_align_up(end), migratetype, alloc_contig_range()
6537 pfn_max_align_up(end), migratetype); alloc_contig_range() local
450 set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) set_page_guard() argument
467 clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) clear_page_guard() argument
484 set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) set_page_guard() argument
486 clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) clear_page_guard() argument
573 __free_one_page(struct page *page, unsigned long pfn, struct zone *zone, unsigned int order, int migratetype) __free_one_page() argument
767 free_one_page(struct zone *zone, struct page *page, unsigned long pfn, unsigned int order, int migratetype) free_one_page() argument
921 expand(struct zone *zone, struct page *page, int low, int high, struct free_area *area, int migratetype) expand() argument
1029 __rmqueue_smallest(struct zone *zone, unsigned int order, int migratetype) __rmqueue_smallest() argument
1089 move_freepages(struct zone *zone, struct page *start_page, struct page *end_page, int migratetype) move_freepages() argument
1133 move_freepages_block(struct zone *zone, struct page *page, int migratetype) move_freepages_block() argument
1154 change_pageblock_range(struct page *pageblock_page, int start_order, int migratetype) change_pageblock_range() argument
1231 find_suitable_fallback(struct free_area *area, unsigned int order, int migratetype, bool only_stealable, bool *can_steal) find_suitable_fallback() argument
1317 __rmqueue(struct zone *zone, unsigned int order, int migratetype) __rmqueue() argument
1352 rmqueue_bulk(struct zone *zone, unsigned int order, unsigned long count, struct list_head *list, int migratetype, bool cold) rmqueue_bulk() argument
1726 buffered_rmqueue(struct zone *preferred_zone, struct zone *zone, unsigned int order, gfp_t gfp_flags, int migratetype) buffered_rmqueue() argument
6434 alloc_contig_range(unsigned long start, unsigned long end, unsigned migratetype) alloc_contig_range() argument
H A Dcompaction.c80 static inline bool migrate_async_suitable(int migratetype) migrate_async_suitable() argument
82 return is_migrate_cma(migratetype) || migratetype == MIGRATE_MOVABLE; migrate_async_suitable()
1133 const int migratetype) __compact_finished()
1179 /* Job done if page is free of the right migratetype */ __compact_finished()
1180 if (!list_empty(&area->free_list[migratetype])) __compact_finished()
1185 if (migratetype == MIGRATE_MOVABLE && __compact_finished()
1191 * other migratetype buddy lists. __compact_finished()
1193 if (find_suitable_fallback(area, order, migratetype, __compact_finished()
1202 const int migratetype) compact_finished()
1206 ret = __compact_finished(zone, cc, migratetype); compact_finished()
1288 const int migratetype = gfpflags_to_migratetype(cc->gfp_mask); compact_zone() local
1334 while ((ret = compact_finished(zone, cc, migratetype)) == compact_zone()
1132 __compact_finished(struct zone *zone, struct compact_control *cc, const int migratetype) __compact_finished() argument
1201 compact_finished(struct zone *zone, struct compact_control *cc, const int migratetype) compact_finished() argument
H A Dinternal.h117 * nodemask, migratetype and high_zoneidx are initialized only once in
130 int migratetype; member in struct:alloc_context
205 int migratetype, bool only_stealable, bool *can_steal);
H A Dcma.c266 * migratetype page by page allocator's buddy algorithm. In the case, cma_declare_contiguous()
H A Dvmstat.c1010 /* Print out the free pages at each order for each migratetype */ pagetypeinfo_showblockcount()
1099 * Print out the number of pageblocks for each migratetype that contain pages
H A Dhuge_memory.c121 * of another type, one for a migratetype to fall back to and a set_recommended_min_free_kbytes()
/linux-4.1.27/tools/perf/
H A Dbuiltin-kmem.c376 "migratetype"); perf_evsel__process_page_alloc_event()

Completed in 306 milliseconds