Lines Matching defs:buddy
875 * If this is less than the 2nd largest possible page, check if the buddy
911 * Freeing function for a buddy system allocator.
913 * The concept of a buddy system is to maintain direct-mapped table
928 * If a block is freed, and its buddy is also free, then this
942 struct page *buddy;
962 buddy = find_buddy_page_pfn(page, pfn, order, &buddy_pfn);
963 if (!buddy)
973 buddy_mt = get_pfnblock_migratetype(buddy, buddy_pfn);
982 * Our buddy is free or it is CONFIG_DEBUG_PAGEALLOC guard page,
985 if (page_is_guard(buddy))
986 clear_page_guard(zone, buddy, order);
988 __del_page_from_free_list(buddy, zone, order, buddy_mt);
992 * Match buddy type. This ensures that an
996 change_pageblock_range(buddy, order, migratetype);
1335 /* Do not let hwpoison pages hit pcplists/buddy */
1515 /* Caller removed page from freelist, buddy info cleared! */
1695 * by considering the behavior of a buddy system containing a single
1714 * merge back to allocator when buddy will be freed.
2041 /* Look for a buddy that straddles start_pfn */
2062 * Found a preceding buddy, but does it straddle?
2087 * might be part of a larger buddy spanning multiple pageblocks.
2104 struct page *buddy;
2120 buddy = pfn_to_page(buddy_pfn);
2121 /* We're a part of a larger buddy */
2122 if (PageBuddy(buddy) && buddy_order(buddy) > pageblock_order) {
2123 int order = buddy_order(buddy);
2125 del_page_from_free_list(buddy, zone, order,
2126 get_pfnblock_migratetype(buddy, buddy_pfn));
2128 split_large_buddy(zone, buddy, buddy_pfn, order, FPI_NONE);
2443 * Do the hard work of removing an element from the buddy allocator.
2512 * Obtain a specified number of elements from the buddy allocator, all under
2537 * Split buddy pages returned by expand() are received here in
2645 * Spill all of this CPU's per-cpu pages back into the buddy allocator.
2736 * Spill all the per-cpu pages from all CPUs back into the buddy allocator.
5188 * This is the 'heart' of the zoned buddy allocator.
5755 * the buddy list. This is safe since pageset manipulation is done
6639 * pagelist can have before it gets flushed back to buddy allocator.
6952 * In contrast to the buddy, we allow for orders here that exceed
6975 * allocator removing them from the buddy system. This way
6981 * put back to page allocator so that buddy can use them.
7007 * buddy system. After the migration of in-use huge pages is completed,
7009 * hugepages are properly released to the buddy system.
7029 * isolated thus they won't get removed from buddy.
7172 * intended for allocation requests which can not be fulfilled with the buddy
7383 * The HWPoisoned page may be not in buddy system, and
7446 * buddy allocator.
7475 * Take a page that will be marked as poisoned off the buddy allocator.