/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
A D | dr_buddy.c | 19 buddy->bitmap = kcalloc(buddy->max_order + 1, in mlx5dr_buddy_init() 20 sizeof(*buddy->bitmap), in mlx5dr_buddy_init() 22 buddy->num_free = kcalloc(buddy->max_order + 1, in mlx5dr_buddy_init() 26 if (!buddy->bitmap || !buddy->num_free) in mlx5dr_buddy_init() 35 if (!buddy->bitmap[i]) in mlx5dr_buddy_init() 43 bitmap_set(buddy->bitmap[buddy->max_order], 0, 1); in mlx5dr_buddy_init() 45 buddy->num_free[buddy->max_order] = 1; in mlx5dr_buddy_init() 54 kfree(buddy->num_free); in mlx5dr_buddy_init() 55 kfree(buddy->bitmap); in mlx5dr_buddy_init() 68 kfree(buddy->num_free); in mlx5dr_buddy_cleanup() [all …]
|
A D | dr_icm_pool.c | 217 if (!buddy->ste_arr) in dr_icm_buddy_init_ste_cache() 225 if (!buddy->hw_ste_arr) in dr_icm_buddy_init_ste_cache() 229 if (!buddy->miss_list) in dr_icm_buddy_init_ste_cache() 237 kvfree(buddy->ste_arr); in dr_icm_buddy_init_ste_cache() 243 kvfree(buddy->ste_arr); in dr_icm_buddy_cleanup_ste_cache() 257 buddy = kvzalloc(sizeof(*buddy), GFP_KERNEL); in dr_icm_buddy_create() 258 if (!buddy) in dr_icm_buddy_create() 264 buddy->icm_mr = icm_mr; in dr_icm_buddy_create() 265 buddy->pool = pool; in dr_icm_buddy_create() 281 kvfree(buddy); in dr_icm_buddy_create() [all …]
|
A D | mlx5dr.h | 189 int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy, 191 void mlx5dr_buddy_cleanup(struct mlx5dr_icm_buddy_mem *buddy); 192 int mlx5dr_buddy_alloc_mem(struct mlx5dr_icm_buddy_mem *buddy, 195 void mlx5dr_buddy_free_mem(struct mlx5dr_icm_buddy_mem *buddy,
|
/linux-6.3-rc2/drivers/infiniband/hw/mthca/ |
A D | mthca_mr.c | 105 --buddy->num_free[o]; in mthca_buddy_alloc() 147 buddy->bits = kcalloc(buddy->max_order + 1, sizeof(long *), in mthca_buddy_init() 149 buddy->num_free = kcalloc((buddy->max_order + 1), sizeof *buddy->num_free, in mthca_buddy_init() 151 if (!buddy->bits || !buddy->num_free) in mthca_buddy_init() 155 buddy->bits[i] = bitmap_zalloc(1 << (buddy->max_order - i), in mthca_buddy_init() 157 if (!buddy->bits[i]) in mthca_buddy_init() 161 __set_bit(0, buddy->bits[buddy->max_order]); in mthca_buddy_init() 162 buddy->num_free[buddy->max_order] = 1; in mthca_buddy_init() 171 kfree(buddy->bits); in mthca_buddy_init() 184 kfree(buddy->bits); in mthca_buddy_cleanup() [all …]
|
/linux-6.3-rc2/arch/arm64/kvm/hyp/nvhe/ |
A D | page_alloc.c | 58 if (!buddy || buddy->order != order || buddy->refcount) in __find_buddy_avail() 61 return buddy; in __find_buddy_avail() 98 struct hyp_page *buddy; in __hyp_attach_page() local 114 buddy = __find_buddy_avail(pool, p, order); in __hyp_attach_page() 115 if (!buddy) in __hyp_attach_page() 119 page_remove_from_list(buddy); in __hyp_attach_page() 120 buddy->order = HYP_NO_ORDER; in __hyp_attach_page() 121 p = min(p, buddy); in __hyp_attach_page() 134 struct hyp_page *buddy; in __hyp_extract_page() local 146 buddy->order = p->order; in __hyp_extract_page() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx4/ |
A D | mr.c | 52 spin_lock(&buddy->lock); in mlx4_buddy_alloc() 67 --buddy->num_free[o]; in mlx4_buddy_alloc() 73 ++buddy->num_free[o]; in mlx4_buddy_alloc() 109 buddy->bits = kcalloc(buddy->max_order + 1, sizeof(long *), in mlx4_buddy_init() 111 buddy->num_free = kcalloc(buddy->max_order + 1, sizeof(*buddy->num_free), in mlx4_buddy_init() 113 if (!buddy->bits || !buddy->num_free) in mlx4_buddy_init() 119 if (!buddy->bits[i]) in mlx4_buddy_init() 123 set_bit(0, buddy->bits[buddy->max_order]); in mlx4_buddy_init() 124 buddy->num_free[buddy->max_order] = 1; in mlx4_buddy_init() 133 kfree(buddy->bits); in mlx4_buddy_init() [all …]
|
/linux-6.3-rc2/mm/ |
A D | zbud.c | 120 struct list_head buddy; member 131 enum buddy { enum 151 INIT_LIST_HEAD(&zhdr->buddy); in init_zbud_page() 264 enum buddy bud; in zbud_alloc() 278 struct zbud_header, buddy); in zbud_alloc() 279 list_del(&zhdr->buddy); in zbud_alloc() 307 list_add(&zhdr->buddy, &pool->unbuddied[freechunks]); in zbud_alloc() 310 list_add(&zhdr->buddy, &pool->buddied); in zbud_alloc() 355 list_del(&zhdr->buddy); in zbud_free() 420 list_del(&zhdr->buddy); in zbud_reclaim_page() [all …]
|
A D | z3fold.c | 72 enum buddy { enum 109 struct list_head buddy; member 380 enum buddy bud) in __encode_handle() 501 list_del(&zhdr->buddy); in free_pages_work() 558 enum buddy bud = HEADLESS; in get_free_buddy() 1007 enum buddy bud; in z3fold_alloc() 1104 enum buddy bud; in z3fold_free() 1378 enum buddy buddy; in z3fold_map() local 1388 switch (buddy) { in z3fold_map() 1422 enum buddy buddy; in z3fold_unmap() local [all …]
|
A D | internal.h | 278 static inline bool page_is_buddy(struct page *page, struct page *buddy, in page_is_buddy() argument 281 if (!page_is_guard(buddy) && !PageBuddy(buddy)) in page_is_buddy() 284 if (buddy_order(buddy) != order) in page_is_buddy() 291 if (page_zone_id(page) != page_zone_id(buddy)) in page_is_buddy() 294 VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); in page_is_buddy() 340 struct page *buddy; in find_buddy_page_pfn() local 342 buddy = page + (__buddy_pfn - pfn); in find_buddy_page_pfn() 346 if (page_is_buddy(page, buddy, order)) in find_buddy_page_pfn() 347 return buddy; in find_buddy_page_pfn()
|
A D | page_isolation.c | 212 struct page *buddy; in unset_migratetype_isolate() local 230 buddy = find_buddy_page_pfn(page, page_to_pfn(page), in unset_migratetype_isolate() 232 if (buddy && !is_migrate_isolate_page(buddy)) { in unset_migratetype_isolate()
|
/linux-6.3-rc2/drivers/gpu/drm/ |
A D | drm_buddy.c | 269 struct drm_buddy_block *buddy; in __drm_buddy_free() local 271 buddy = __get_buddy(block); in __drm_buddy_free() 273 if (!drm_buddy_block_is_free(buddy)) in __drm_buddy_free() 276 list_del(&buddy->link); in __drm_buddy_free() 279 drm_block_free(mm, buddy); in __drm_buddy_free() 336 struct drm_buddy_block *buddy; in alloc_range_bias() local 399 buddy = __get_buddy(block); in alloc_range_bias() 400 if (buddy && in alloc_range_bias() 486 struct drm_buddy_block *buddy; in __alloc_range() local 547 buddy = __get_buddy(block); in __alloc_range() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/tests/ |
A D | drm_buddy_test.c | 47 struct drm_buddy_block *block, bool buddy) in __dump_block() argument 58 struct drm_buddy_block *buddy; in dump_block() local 62 buddy = drm_get_buddy(block); in dump_block() 63 if (buddy) in dump_block() 64 __dump_block(test, mm, buddy, true); in dump_block() 70 struct drm_buddy_block *buddy; in check_block() local 112 buddy = drm_get_buddy(block); in check_block() 114 if (!buddy && block->parent) { in check_block() 119 if (buddy) { in check_block() 125 if (drm_buddy_block_size(mm, buddy) != block_size) { in check_block() [all …]
|
/linux-6.3-rc2/arch/loongarch/include/asm/ |
A D | pgtable.h | 306 pte_t *buddy = ptep_buddy(ptep); in set_pte() local 328 : [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp) in set_pte() 331 if (pte_none(*buddy)) in set_pte() 332 pte_val(*buddy) = pte_val(*buddy) | _PAGE_GLOBAL; in set_pte()
|
/linux-6.3-rc2/arch/mips/include/asm/ |
A D | pgtable.h | 133 pte_t *buddy = ptep_buddy(ptep); local 138 if (pte_none(*buddy)) { 140 buddy->pte_low |= _PAGE_GLOBAL; 141 buddy->pte_high |= _PAGE_GLOBAL; 179 pte_t *buddy = ptep_buddy(ptep); local 185 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL); 187 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
|
/linux-6.3-rc2/drivers/dma-buf/heaps/ |
A D | Kconfig | 6 is backed by pages from the buddy allocator. If in doubt, say Y.
|
/linux-6.3-rc2/fs/ext4/ |
A D | mballoc.c | 683 void *buddy; in __mb_check_buddy() local 691 MB_CHECK_ASSERT(buddy); in __mb_check_buddy() 700 if (mb_test_bit(i, buddy)) { in __mb_check_buddy() 1684 while (buddy) { in mb_buddy_mark_free() 1731 buddy = buddy2; in mb_buddy_mark_free() 1823 void *buddy; in mb_find_extent() local 1829 BUG_ON(buddy == NULL); in mb_find_extent() 1892 void *buddy; in mb_mark_used() local 1950 mb_clear_bit(cur, buddy); in mb_mark_used() 2228 void *buddy; in ext4_mb_simple_scan_group() local [all …]
|
/linux-6.3-rc2/Documentation/mm/ |
A D | vmemmap_dedup.rst | 29 to the buddy allocator for other uses. 132 7 pages to the buddy allocator. 159 When a HugeTLB is freed to the buddy system, we should allocate 7 pages for 174 Notice: The head vmemmap page is not freed to the buddy allocator and all
|
/linux-6.3-rc2/Documentation/gpu/rfc/ |
A D | i915_gem_lmem.rst | 20 * Move i915 buddy allocator over to TTM
|
/linux-6.3-rc2/Documentation/trace/ |
A D | events-kmem.rst | 56 the per-CPU allocator (high performance) or the buddy allocator. 58 If pages are allocated directly from the buddy allocator, the
|
/linux-6.3-rc2/drivers/staging/rtl8723bs/core/ |
A D | rtw_pwrctrl.c | 92 struct adapter *buddy = adapter->pbuddy_adapter; in rtw_pwr_unassociated_idle() local 112 if (buddy) { in rtw_pwr_unassociated_idle() 113 struct mlme_priv *b_pmlmepriv = &(buddy->mlmepriv); in rtw_pwr_unassociated_idle()
|
/linux-6.3-rc2/fs/jfs/ |
A D | jfs_dmap.c | 2753 int budsz, buddy; in dbJoin() local 2783 buddy = leafno ^ budsz; in dbJoin() 2788 if (newval > leaf[buddy]) in dbJoin() 2792 if (newval < leaf[buddy]) in dbJoin() 2803 if (leafno < buddy) { in dbJoin() 2806 dbAdjTree(tp, buddy, NOFREE); in dbJoin() 2812 leafno = buddy; in dbJoin()
|
/linux-6.3-rc2/Documentation/admin-guide/mm/ |
A D | pagemap.rst | 98 A free memory block managed by the buddy system allocator. 99 The buddy system organizes free memory in blocks of various orders.
|
/linux-6.3-rc2/Documentation/ABI/testing/ |
A D | sysfs-fs-ext4 | 37 requests (as a power of 2) where the buddy cache is
|
/linux-6.3-rc2/Documentation/admin-guide/sysctl/ |
A D | vm.rst | 575 buddy allocator will be optimized (7 pages per 2MB HugeTLB page and 4095 pages 578 to the buddy allocator, the vmemmap pages representing that range needs to be 585 of allocation or freeing HugeTLB pages between the HugeTLB pool and the buddy 588 pool to the buddy allocator since the allocation of vmemmap pages could be 592 buddy allocator will not be optimized meaning the extra overhead at allocation 593 time from buddy allocator disappears, whereas already optimized HugeTLB pages
|
/linux-6.3-rc2/arch/x86/kvm/vmx/ |
A D | vmx.h | 391 struct loaded_vmcs *buddy);
|