/kernel/linux/linux-5.10/include/linux/ |
H A D | page-isolation.h | 14 static inline bool is_migrate_isolate(int migratetype) in is_migrate_isolate() argument 16 return migratetype == MIGRATE_ISOLATE; in is_migrate_isolate() 27 static inline bool is_migrate_isolate(int migratetype) in is_migrate_isolate() argument 37 int migratetype, int flags); 38 void set_pageblock_migratetype(struct page *page, int migratetype); 40 int migratetype, int *num_movable); 47 unsigned migratetype, int flags); 55 unsigned migratetype);
|
H A D | mmzone.h | 41 enum migratetype { enum 57 * The way to use it is to change migratetype of a range of 76 # define is_migrate_cma(migratetype) unlikely((migratetype) == MIGRATE_CMA) 79 # define is_migrate_cma(migratetype) false 111 int migratetype) in get_page_from_free_area() 113 return list_first_entry_or_null(&area->free_list[migratetype], in get_page_from_free_area() 117 static inline bool free_area_empty(struct free_area *area, int migratetype) in free_area_empty() argument 119 return list_empty(&area->free_list[migratetype]); in free_area_empty() 540 * freepage counting problem due to racy retrieving migratetype 110 get_page_from_free_area(struct free_area *area, int migratetype) get_page_from_free_area() argument [all...] |
H A D | vmstat.h | 400 int migratetype) in __mod_zone_freepage_state() 403 if (is_migrate_cma(migratetype)) in __mod_zone_freepage_state() 399 __mod_zone_freepage_state(struct zone *zone, int nr_pages, int migratetype) __mod_zone_freepage_state() argument
|
H A D | memory_hotplug.h | 350 struct vmem_altmap *altmap, int migratetype);
|
H A D | gfp.h | 640 unsigned migratetype, gfp_t gfp_mask);
|
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | kmem.h | 196 gfp_t gfp_flags, int migratetype), 198 TP_ARGS(page, order, gfp_flags, migratetype), 204 __field( int, migratetype ) 211 __entry->migratetype = migratetype; 214 TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s", 218 __entry->migratetype, 224 TP_PROTO(struct page *page, unsigned int order, int migratetype), 226 TP_ARGS(page, order, migratetype), 231 __field( int, migratetype ) [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | kmem.h | 180 gfp_t gfp_flags, int migratetype), 182 TP_ARGS(page, order, gfp_flags, migratetype), 188 __field( int, migratetype ) 195 __entry->migratetype = migratetype; 198 TP_printk("page=%p pfn=0x%lx order=%d migratetype=%d gfp_flags=%s", 202 __entry->migratetype, 208 TP_PROTO(struct page *page, unsigned int order, int migratetype, 211 TP_ARGS(page, order, migratetype, percpu_refill), 216 __field( int, migratetype ) [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | page-isolation.h | 14 static inline bool is_migrate_isolate(int migratetype) in is_migrate_isolate() argument 16 return migratetype == MIGRATE_ISOLATE; in is_migrate_isolate() 27 static inline bool is_migrate_isolate(int migratetype) in is_migrate_isolate() argument 36 void set_pageblock_migratetype(struct page *page, int migratetype); 38 int migratetype, int *num_movable); 41 int migratetype, int flags, gfp_t gfp_flags); 44 int migratetype);
|
H A D | mmzone.h | 45 enum migratetype { enum 61 * The way to use it is to change migratetype of a range of 77 # define is_migrate_cma(migratetype) unlikely((migratetype) == MIGRATE_CMA) 80 # define is_migrate_cma(migratetype) false 96 * Check whether a migratetype can be merged with another migratetype. 693 * One per migratetype for each PAGE_ALLOC_COSTLY_ORDER. One additional list 943 * freepage counting problem due to racy retrieving migratetype
|
H A D | vmstat.h | 491 int migratetype) in __mod_zone_freepage_state() 494 if (is_migrate_cma(migratetype)) in __mod_zone_freepage_state() 490 __mod_zone_freepage_state(struct zone *zone, int nr_pages, int migratetype) __mod_zone_freepage_state() argument
|
H A D | mm.h | 3711 int migratetype); 3713 unsigned int order, int migratetype) in set_page_guard() 3717 return __set_page_guard(zone, page, order, migratetype); in set_page_guard() 3721 int migratetype); 3723 unsigned int order, int migratetype) in clear_page_guard() 3727 __clear_page_guard(zone, page, order, migratetype); in clear_page_guard() 3737 unsigned int order, int migratetype) { return false; } in set_page_guard() 3739 unsigned int order, int migratetype) {} in clear_page_guard() 3712 set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) set_page_guard() argument 3722 clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) clear_page_guard() argument 3736 set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) set_page_guard() argument 3738 clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) clear_page_guard() argument
|
H A D | gfp.h | 357 unsigned migratetype, gfp_t gfp_mask);
|
H A D | memory_hotplug.h | 342 struct vmem_altmap *altmap, int migratetype);
|
/kernel/linux/linux-5.10/mm/ |
H A D | page_isolation.c | 18 static int set_migratetype_isolate(struct page *page, int migratetype, int isol_flags) in set_migratetype_isolate() argument 40 unmovable = has_unmovable_pages(zone, page, migratetype, isol_flags); in set_migratetype_isolate() 68 static void unset_migratetype_isolate(struct page *page, unsigned migratetype) in unset_migratetype_isolate() argument 116 nr_pages = move_freepages_block(zone, page, migratetype, NULL); in unset_migratetype_isolate() 117 __mod_zone_freepage_state(zone, nr_pages, migratetype); in unset_migratetype_isolate() 119 set_pageblock_migratetype(page, migratetype); in unset_migratetype_isolate() 121 __putback_isolated_page(page, order, migratetype); in unset_migratetype_isolate() 149 * @migratetype: Migrate type to set in error recovery. 184 unsigned migratetype, int flags) in start_isolate_page_range() 198 if (set_migratetype_isolate(page, migratetype, flag in start_isolate_page_range() 183 start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, unsigned migratetype, int flags) start_isolate_page_range() argument 221 undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, unsigned migratetype) undo_isolate_page_range() argument [all...] |
H A D | page_alloc.c | 223 * A cached value of the page's pageblock's migratetype, used when the page is 224 * put on a pcplist. Used to avoid the pageblock migratetype lookup when 226 * Also the migratetype set in the page does not necessarily match the pcplist 235 static inline void set_pcppage_migratetype(struct page *page, int migratetype) in set_pcppage_migratetype() argument 237 page->index = migratetype; in set_pcppage_migratetype() 581 void set_pageblock_migratetype(struct page *page, int migratetype) in set_pageblock_migratetype() argument 584 migratetype < MIGRATE_PCPTYPES)) in set_pageblock_migratetype() 585 migratetype = MIGRATE_UNMOVABLE; in set_pageblock_migratetype() 587 set_pfnblock_flags_mask(page, (unsigned long)migratetype, in set_pageblock_migratetype() 768 unsigned int order, int migratetype) in set_page_guard() 767 set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) set_page_guard() argument 785 clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) clear_page_guard() argument 798 set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) set_page_guard() argument 800 clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) clear_page_guard() argument 856 compaction_capture(struct capture_control *capc, struct page *page, int order, int migratetype) compaction_capture() argument 887 compaction_capture(struct capture_control *capc, struct page *page, int order, int migratetype) compaction_capture() argument 895 add_to_free_list(struct page *page, struct zone *zone, unsigned int order, int migratetype) add_to_free_list() argument 905 add_to_free_list_tail(struct page *page, struct zone *zone, unsigned int order, int migratetype) add_to_free_list_tail() argument 919 move_to_free_list(struct page *page, struct zone *zone, unsigned int order, int migratetype) move_to_free_list() argument 994 __free_one_page(struct page *page, unsigned long pfn, struct zone *zone, unsigned int order, int migratetype, fpi_t fpi_flags) __free_one_page() argument 1354 int migratetype = 0; free_pcppages_bulk() local 1433 free_one_page(struct zone *zone, struct page *page, unsigned long pfn, unsigned int order, int migratetype, fpi_t fpi_flags) free_one_page() argument 1525 int migratetype; __free_pages_ok() local 1534 free_one_page(page_zone(page), page, pfn, order, migratetype, __free_pages_ok() local 2170 expand(struct zone *zone, struct page *page, int low, int high, int migratetype) expand() argument 2317 __rmqueue_smallest(struct zone *zone, unsigned int order, int migratetype) __rmqueue_smallest() argument 2372 move_freepages(struct zone *zone, unsigned long start_pfn, unsigned long end_pfn, int migratetype, int *num_movable) move_freepages() argument 2414 move_freepages_block(struct zone *zone, struct page *page, int migratetype, int *num_movable) move_freepages_block() argument 2436 change_pageblock_range(struct page *pageblock_page, int start_order, int migratetype) change_pageblock_range() argument 2607 find_suitable_fallback(struct free_area *area, unsigned int order, int migratetype, bool only_stealable, bool *can_steal) find_suitable_fallback() argument 2845 __rmqueue_with_cma_reuse(struct zone *zone, unsigned int order, int migratetype, unsigned int alloc_flags) __rmqueue_with_cma_reuse() argument 2870 __rmqueue(struct zone *zone, unsigned int order, int migratetype, unsigned int alloc_flags) __rmqueue() argument 2915 rmqueue_bulk(struct zone *zone, unsigned int order, unsigned long count, struct list_head *list, int migratetype, unsigned int alloc_flags) rmqueue_bulk() argument 3190 int migratetype; free_unref_page_prepare() local 3204 int migratetype; free_unref_page_commit() local 3407 __rmqueue_pcplist(struct zone *zone, int migratetype, unsigned int alloc_flags, struct per_cpu_pages *pcp, struct list_head *list) __rmqueue_pcplist() argument 3432 rmqueue_pcplist(struct zone *preferred_zone, struct zone *zone, gfp_t gfp_flags, int migratetype, unsigned int alloc_flags) rmqueue_pcplist() argument 3457 rmqueue(struct zone *preferred_zone, struct zone *zone, unsigned int order, gfp_t gfp_flags, unsigned int alloc_flags, int migratetype) rmqueue() argument 6211 memmap_init_zone(unsigned long size, int nid, unsigned long zone, unsigned long start_pfn, unsigned long zone_end_pfn, enum meminit_context context, struct vmem_altmap *altmap, int migratetype) memmap_init_zone() argument 6554 int migratetype; pageset_init() local 8466 has_unmovable_pages(struct zone *zone, struct page *page, int migratetype, int flags) has_unmovable_pages() argument 8658 alloc_contig_range(unsigned long start, unsigned long end, unsigned migratetype, gfp_t gfp_mask) alloc_contig_range() argument 8786 pfn_max_align_up(end), migratetype); alloc_contig_range() local 9008 break_down_buddy_pages(struct zone *zone, struct page *page, struct page *target, int low, int high, int migratetype) break_down_buddy_pages() argument 9056 int migratetype = get_pfnblock_migratetype(page_head, take_page_off_buddy() local [all...] |
H A D | shuffle.c | 35 * 'free_area' lru), have the same order, and have the same migratetype. 93 int migratetype, retry; in __shuffle_zone() local 126 * Each migratetype corresponds to its own list, make sure the in __shuffle_zone() 130 migratetype = get_pageblock_migratetype(page_i); in __shuffle_zone() 131 if (get_pageblock_migratetype(page_j) != migratetype) { in __shuffle_zone() 132 pr_debug("%s: migratetype mismatch %#lx\n", __func__, i); in __shuffle_zone()
|
H A D | internal.h | 261 * nodemask, migratetype and highest_zoneidx are initialized only once in 273 int migratetype; member 365 int migratetype; /* migratetype of direct compactor */ member 396 int migratetype, bool only_stealable, bool *can_steal); 761 static inline bool is_migrate_highatomic(enum migratetype migratetype) in is_migrate_highatomic() argument 763 return migratetype == MIGRATE_HIGHATOMIC; in is_migrate_highatomic()
|
H A D | compaction.c | 1162 if (cc->migratetype == MIGRATE_MOVABLE) in suitable_migration_source() 1165 return block_mt == cc->migratetype; in suitable_migration_source() 1691 if (cc->direct_compaction && cc->migratetype != MIGRATE_MOVABLE) in fast_find_migrateblock() 1952 const int migratetype = cc->migratetype; in __compact_finished() local 2012 /* Job done if page is free of the right migratetype */ in __compact_finished() 2013 if (!free_area_empty(area, migratetype)) in __compact_finished() 2018 if (migratetype == get_cma_migratetype() && in __compact_finished() 2024 * other migratetype buddy lists. in __compact_finished() 2026 if (find_suitable_fallback(area, order, migratetype, in __compact_finished() [all...] |
H A D | memory_hotplug.c | 688 * All aligned pageblocks are initialized to the specified migratetype 689 * (usually MIGRATE_MOVABLE). Besides setting the migratetype, no related 694 struct vmem_altmap *altmap, int migratetype) in move_pfn_range_to_zone() 719 MEMINIT_HOTPLUG, altmap, migratetype); in move_pfn_range_to_zone() 692 move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn, unsigned long nr_pages, struct vmem_altmap *altmap, int migratetype) move_pfn_range_to_zone() argument
|
/kernel/linux/linux-6.6/mm/ |
H A D | page_isolation.c | 34 int migratetype, int flags) in has_unmovable_pages() 49 if (is_migrate_cma(migratetype)) in has_unmovable_pages() 143 * This function set pageblock migratetype to isolate if no unmovable page is 147 static int set_migratetype_isolate(struct page *page, int migratetype, int isol_flags, in set_migratetype_isolate() argument 179 migratetype, isol_flags); in set_migratetype_isolate() 206 static void unset_migratetype_isolate(struct page *page, int migratetype) in unset_migratetype_isolate() argument 255 nr_pages = move_freepages_block(zone, page, migratetype, NULL); in unset_migratetype_isolate() 256 __mod_zone_freepage_state(zone, nr_pages, migratetype); in unset_migratetype_isolate() 258 set_pageblock_migratetype(page, migratetype); in unset_migratetype_isolate() 260 __putback_isolated_page(page, order, migratetype); in unset_migratetype_isolate() 33 has_unmovable_pages(unsigned long start_pfn, unsigned long end_pfn, int migratetype, int flags) has_unmovable_pages() argument 305 isolate_single_pageblock(unsigned long boundary_pfn, int flags, gfp_t gfp_flags, bool isolate_before, bool skip_isolation, int migratetype) isolate_single_pageblock() argument 479 unset_migratetype_isolate(pfn_to_page(isolate_pageblock), migratetype); isolate_single_pageblock() local 528 start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, int migratetype, int flags, gfp_t gfp_flags) start_isolate_page_range() argument 552 unset_migratetype_isolate(pfn_to_page(isolate_start), migratetype); start_isolate_page_range() local 582 undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, int migratetype) undo_isolate_page_range() argument [all...] |
H A D | debug_page_alloc.c | 36 int migratetype) in __set_page_guard() 45 if (!is_migrate_isolate(migratetype)) in __set_page_guard() 46 __mod_zone_freepage_state(zone, -(1 << order), migratetype); in __set_page_guard() 52 int migratetype) in __clear_page_guard() 57 if (!is_migrate_isolate(migratetype)) in __clear_page_guard() 58 __mod_zone_freepage_state(zone, (1 << order), migratetype); in __clear_page_guard() 35 __set_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) __set_page_guard() argument 51 __clear_page_guard(struct zone *zone, struct page *page, unsigned int order, int migratetype) __clear_page_guard() argument
|
H A D | page_alloc.c | 212 * A cached value of the page's pageblock's migratetype, used when the page is 213 * put on a pcplist. Used to avoid the pageblock migratetype lookup when 215 * Also the migratetype set in the page does not necessarily match the pcplist 224 static inline void set_pcppage_migratetype(struct page *page, int migratetype) in set_pcppage_migratetype() argument 226 page->index = migratetype; in set_pcppage_migratetype() 437 void set_pageblock_migratetype(struct page *page, int migratetype) in set_pageblock_migratetype() argument 440 migratetype < MIGRATE_PCPTYPES)) in set_pageblock_migratetype() 441 migratetype = MIGRATE_UNMOVABLE; in set_pageblock_migratetype() 443 set_pfnblock_flags_mask(page, (unsigned long)migratetype, in set_pageblock_migratetype() 527 static inline unsigned int order_to_pindex(int migratetype, in argument 630 compaction_capture(struct capture_control *capc, struct page *page, int order, int migratetype) compaction_capture() argument 661 compaction_capture(struct capture_control *capc, struct page *page, int order, int migratetype) compaction_capture() argument 669 add_to_free_list(struct page *page, struct zone *zone, unsigned int order, int migratetype) add_to_free_list() argument 679 add_to_free_list_tail(struct page *page, struct zone *zone, unsigned int order, int migratetype) add_to_free_list_tail() argument 693 move_to_free_list(struct page *page, struct zone *zone, unsigned int order, int migratetype) move_to_free_list() argument 714 get_page_from_free_area(struct free_area *area, int migratetype) get_page_from_free_area() argument 770 __free_one_page(struct page *page, unsigned long pfn, struct zone *zone, unsigned int order, int migratetype, fpi_t fpi_flags) __free_one_page() argument 1249 free_one_page(struct zone *zone, struct page *page, unsigned long pfn, unsigned int order, int migratetype, fpi_t fpi_flags) free_one_page() argument 1269 int migratetype; __free_pages_ok() local 1396 expand(struct zone *zone, struct page *page, int low, int high, int migratetype) expand() argument 1572 __rmqueue_smallest(struct zone *zone, unsigned int order, int migratetype) __rmqueue_smallest() argument 1626 move_freepages(struct zone *zone, unsigned long start_pfn, unsigned long end_pfn, int migratetype, int *num_movable) move_freepages() argument 1663 move_freepages_block(struct zone *zone, struct page *page, int migratetype, int *num_movable) move_freepages_block() argument 1685 change_pageblock_range(struct page *pageblock_page, int start_order, int migratetype) change_pageblock_range() argument 1855 find_suitable_fallback(struct free_area *area, unsigned int order, int migratetype, bool only_stealable, bool *can_steal) find_suitable_fallback() argument 2089 __rmqueue_with_cma_reuse(struct zone *zone, unsigned int order, int migratetype, unsigned int alloc_flags) __rmqueue_with_cma_reuse() argument 2114 __rmqueue(struct zone *zone, unsigned int order, int migratetype, unsigned int alloc_flags) __rmqueue() argument 2157 rmqueue_bulk(struct zone *zone, unsigned int order, unsigned long count, struct list_head *list, int migratetype, unsigned int alloc_flags) rmqueue_bulk() argument 2344 int migratetype; free_unref_page_prepare() local 2401 free_unref_page_commit(struct zone *zone, struct per_cpu_pages *pcp, struct page *page, int migratetype, unsigned int order) free_unref_page_commit() argument 2437 int migratetype, pcpmigratetype; free_unref_page() local 2452 free_one_page(page_zone(page), page, pfn, order, migratetype, FPI_NONE); free_unref_page() local 2480 int migratetype; free_unref_page_list() local 2497 free_one_page(page_zone(page), page, pfn, 0, migratetype, FPI_NONE); free_unref_page_list() local 2668 rmqueue_buddy(struct zone *preferred_zone, struct zone *zone, unsigned int order, unsigned int alloc_flags, int migratetype) rmqueue_buddy() argument 2710 __rmqueue_pcplist(struct zone *zone, unsigned int order, int migratetype, unsigned int alloc_flags, struct per_cpu_pages *pcp, struct list_head *list) __rmqueue_pcplist() argument 2750 rmqueue_pcplist(struct zone *preferred_zone, struct zone *zone, unsigned int order, int migratetype, unsigned int alloc_flags) rmqueue_pcplist() argument 2797 rmqueue(struct zone *preferred_zone, struct zone *zone, unsigned int order, gfp_t gfp_flags, unsigned int alloc_flags, int migratetype) rmqueue() argument 6148 alloc_contig_range(unsigned long start, unsigned long end, unsigned migratetype, gfp_t gfp_mask) alloc_contig_range() argument 6499 break_down_buddy_pages(struct zone *zone, struct page *page, struct page *target, int low, int high, int migratetype) break_down_buddy_pages() argument 6547 int migratetype = get_pfnblock_migratetype(page_head, take_page_off_buddy() local 6574 int migratetype = get_pfnblock_migratetype(page, pfn); put_page_back_buddy() local [all...] |
H A D | shuffle.c | 34 * 'free_area' lru), have the same order, and have the same migratetype. 92 int migratetype, retry; in __shuffle_zone() local 125 * Each migratetype corresponds to its own list, make sure the in __shuffle_zone() 129 migratetype = get_pageblock_migratetype(page_i); in __shuffle_zone() 130 if (get_pageblock_migratetype(page_j) != migratetype) { in __shuffle_zone() 131 pr_debug("%s: migratetype mismatch %#lx\n", __func__, i); in __shuffle_zone()
|
H A D | internal.h | 375 * nodemask, migratetype and highest_zoneidx are initialized only once in 387 int migratetype; member 636 int migratetype; /* migratetype of direct compactor */ member 680 int migratetype, bool only_stealable, bool *can_steal); 682 static inline bool free_area_empty(struct free_area *area, int migratetype) in free_area_empty() argument 684 return list_empty(&area->free_list[migratetype]); in free_area_empty() 1022 static inline bool is_migrate_highatomic(enum migratetype migratetype) in is_migrate_highatomic() argument 1024 return migratetype in is_migrate_highatomic() [all...] |
H A D | compaction.c | 1338 if (cc->migratetype == MIGRATE_MOVABLE) in suitable_migration_source() 1341 return block_mt == cc->migratetype; in suitable_migration_source() 1888 if (cc->direct_compaction && cc->migratetype != MIGRATE_MOVABLE) in fast_find_migrateblock() 2041 * same migratetype without huge pages. Async direct compaction in isolate_migratepages() 2172 const int migratetype = cc->migratetype; in __compact_finished() local 2232 /* Job done if page is free of the right migratetype */ in __compact_finished() 2233 if (!free_area_empty(area, migratetype)) in __compact_finished() 2238 if (migratetype == get_cma_migratetype() && in __compact_finished() 2244 * other migratetype budd in __compact_finished() [all...] |