/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H 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 …]
|
H A D | dr_icm_pool.c | 232 if (!buddy->ste_arr) in dr_icm_buddy_init_ste_cache() 240 if (!buddy->hw_ste_arr) in dr_icm_buddy_init_ste_cache() 244 if (!buddy->miss_list) in dr_icm_buddy_init_ste_cache() 252 kvfree(buddy->ste_arr); in dr_icm_buddy_init_ste_cache() 258 kvfree(buddy->ste_arr); in dr_icm_buddy_cleanup_ste_cache() 272 buddy = kvzalloc(sizeof(*buddy), GFP_KERNEL); in dr_icm_buddy_create() 273 if (!buddy) in dr_icm_buddy_create() 279 buddy->icm_mr = icm_mr; in dr_icm_buddy_create() 280 buddy->pool = pool; in dr_icm_buddy_create() 298 kvfree(buddy); in dr_icm_buddy_create() [all …]
|
H A D | mlx5dr.h | 192 int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy, 194 void mlx5dr_buddy_cleanup(struct mlx5dr_icm_buddy_mem *buddy); 195 int mlx5dr_buddy_alloc_mem(struct mlx5dr_icm_buddy_mem *buddy, 198 void mlx5dr_buddy_free_mem(struct mlx5dr_icm_buddy_mem *buddy,
|
/openbmc/linux/drivers/infiniband/hw/mthca/ |
H 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 …]
|
/openbmc/linux/arch/arm64/kvm/hyp/nvhe/ |
H 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 …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx4/ |
H 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 …]
|
/openbmc/linux/mm/ |
H A D | zbud.c | 112 struct list_head buddy; member 121 enum buddy { enum 141 INIT_LIST_HEAD(&zhdr->buddy); in init_zbud_page() 155 static unsigned long encode_handle(struct zbud_header *zhdr, enum buddy bud) in encode_handle() 251 enum buddy bud; in zbud_alloc() 265 struct zbud_header, buddy); in zbud_alloc() 266 list_del(&zhdr->buddy); in zbud_alloc() 294 list_add(&zhdr->buddy, &pool->unbuddied[freechunks]); in zbud_alloc() 297 list_add(&zhdr->buddy, &pool->buddied); in zbud_alloc() 326 list_del(&zhdr->buddy); in zbud_free() [all …]
|
H A D | z3fold.c | 72 enum buddy { enum 109 struct list_head buddy; member 372 enum buddy bud) in __encode_handle() 501 list_del(&zhdr->buddy); in free_pages_work() 558 enum buddy bud = HEADLESS; in get_free_buddy() 1006 enum buddy bud; in z3fold_alloc() 1096 enum buddy bud; in z3fold_free() 1179 enum buddy buddy; in z3fold_map() local 1189 switch (buddy) { in z3fold_map() 1223 enum buddy buddy; in z3fold_unmap() local [all …]
|
H A D | internal.h | 302 static inline bool page_is_buddy(struct page *page, struct page *buddy, in page_is_buddy() argument 305 if (!page_is_guard(buddy) && !PageBuddy(buddy)) in page_is_buddy() 308 if (buddy_order(buddy) != order) in page_is_buddy() 315 if (page_zone_id(page) != page_zone_id(buddy)) in page_is_buddy() 318 VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); in page_is_buddy() 364 struct page *buddy; in find_buddy_page_pfn() local 366 buddy = page + (__buddy_pfn - pfn); in find_buddy_page_pfn() 370 if (page_is_buddy(page, buddy, order)) in find_buddy_page_pfn() 371 return buddy; in find_buddy_page_pfn()
|
H 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()
|
/openbmc/linux/drivers/gpu/drm/ |
H 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() 337 struct drm_buddy_block *buddy; in alloc_range_bias() local 409 buddy = __get_buddy(block); in alloc_range_bias() 410 if (buddy && in alloc_range_bias() 496 struct drm_buddy_block *buddy; in __alloc_range() local 557 buddy = __get_buddy(block); in __alloc_range() [all …]
|
/openbmc/linux/drivers/gpu/drm/tests/ |
H 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 113 buddy = drm_get_buddy(block); in check_block() 115 if (!buddy && block->parent) { in check_block() 120 if (buddy) { in check_block() 126 if (drm_buddy_block_size(mm, buddy) != block_size) { in check_block() [all …]
|
/openbmc/linux/arch/mips/include/asm/ |
H A D | pgtable.h | 130 pte_t *buddy = ptep_buddy(ptep); local 135 if (pte_none(*buddy)) { 137 buddy->pte_low |= _PAGE_GLOBAL; 138 buddy->pte_high |= _PAGE_GLOBAL; 176 pte_t *buddy = ptep_buddy(ptep); local 182 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL); 184 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
|
/openbmc/linux/arch/loongarch/include/asm/ |
H A D | pgtable.h | 319 pte_t *buddy = ptep_buddy(ptep); in set_pte() local 341 : [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp) in set_pte() 344 if (pte_none(*buddy)) in set_pte() 345 pte_val(*buddy) = pte_val(*buddy) | _PAGE_GLOBAL; in set_pte()
|
/openbmc/linux/drivers/dma-buf/heaps/ |
H A D | Kconfig | 6 is backed by pages from the buddy allocator. If in doubt, say Y.
|
/openbmc/linux/fs/ext4/ |
H A D | mballoc.c | 694 void *buddy; in __mb_check_buddy() local 702 MB_CHECK_ASSERT(buddy); in __mb_check_buddy() 711 if (mb_test_bit(i, buddy)) { in __mb_check_buddy() 1243 void *buddy; in mb_regenerate_buddy() local 1844 while (buddy) { in mb_buddy_mark_free() 1892 buddy = buddy2; in mb_buddy_mark_free() 1989 void *buddy; in mb_find_extent() local 1995 BUG_ON(buddy == NULL); in mb_find_extent() 2058 void *buddy; in mb_mark_used() local 2116 mb_clear_bit(cur, buddy); in mb_mark_used() [all …]
|
/openbmc/linux/Documentation/gpu/rfc/ |
H A D | i915_gem_lmem.rst | 20 * Move i915 buddy allocator over to TTM
|
/openbmc/linux/Documentation/mm/ |
H A D | vmemmap_dedup.rst | 30 to the buddy allocator for other uses. 133 7 pages to the buddy allocator. 160 When a HugeTLB is freed to the buddy system, we should allocate 7 pages for 175 Notice: The head vmemmap page is not freed to the buddy allocator and all
|
/openbmc/linux/Documentation/trace/ |
H 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
|
/openbmc/linux/drivers/staging/rtl8723bs/core/ |
H 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()
|
/openbmc/linux/include/trace/events/ |
H A D | mmflags.h | 142 DEF_PAGETYPE_NAME(buddy)
|
/openbmc/linux/fs/jfs/ |
H A D | jfs_dmap.c | 2770 int budsz, buddy; in dbJoin() local 2800 buddy = leafno ^ budsz; in dbJoin() 2805 if (newval > leaf[buddy]) in dbJoin() 2809 if (newval < leaf[buddy]) in dbJoin() 2820 if (leafno < buddy) { in dbJoin() 2823 dbAdjTree(tp, buddy, NOFREE, is_ctl); in dbJoin() 2829 leafno = buddy; in dbJoin()
|
/openbmc/linux/Documentation/admin-guide/mm/ |
H 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.
|
/openbmc/qemu/docs/ |
H A D | COLO-FT.txt | 227 {"execute": "human-monitor-command", "arguments": {"command-line": "drive_add -n buddy driver=repli… 290 {"execute": "human-monitor-command", "arguments":{ "command-line": "drive_add -n buddy driver=repli… 319 {"execute": "human-monitor-command", "arguments":{ "command-line": "drive_add -n buddy driver=repli…
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-fs-ext4 | 37 requests (as a power of 2) where the buddy cache is
|