/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
D | dr_buddy.c | 10 int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy, in mlx5dr_buddy_init() argument 15 buddy->max_order = max_order; in mlx5dr_buddy_init() 17 INIT_LIST_HEAD(&buddy->list_node); in mlx5dr_buddy_init() 18 INIT_LIST_HEAD(&buddy->used_list); in mlx5dr_buddy_init() 19 INIT_LIST_HEAD(&buddy->hot_list); in mlx5dr_buddy_init() 21 buddy->bitmap = kcalloc(buddy->max_order + 1, in mlx5dr_buddy_init() 22 sizeof(*buddy->bitmap), in mlx5dr_buddy_init() 24 buddy->num_free = kcalloc(buddy->max_order + 1, in mlx5dr_buddy_init() 25 sizeof(*buddy->num_free), in mlx5dr_buddy_init() 28 if (!buddy->bitmap || !buddy->num_free) in mlx5dr_buddy_init() [all …]
|
D | dr_icm_pool.c | 179 struct mlx5dr_icm_buddy_mem *buddy) in dr_icm_chunk_destroy() argument 183 buddy->used_memory -= chunk->byte_size; in dr_icm_chunk_destroy() 194 struct mlx5dr_icm_buddy_mem *buddy; in dr_icm_buddy_create() local 201 buddy = kvzalloc(sizeof(*buddy), GFP_KERNEL); in dr_icm_buddy_create() 202 if (!buddy) in dr_icm_buddy_create() 205 if (mlx5dr_buddy_init(buddy, pool->max_log_chunk_sz)) in dr_icm_buddy_create() 208 buddy->icm_mr = icm_mr; in dr_icm_buddy_create() 209 buddy->pool = pool; in dr_icm_buddy_create() 212 list_add(&buddy->list_node, &pool->buddy_mem_list); in dr_icm_buddy_create() 217 kvfree(buddy); in dr_icm_buddy_create() [all …]
|
D | mlx5dr.h | 165 int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy, 167 void mlx5dr_buddy_cleanup(struct mlx5dr_icm_buddy_mem *buddy); 168 int mlx5dr_buddy_alloc_mem(struct mlx5dr_icm_buddy_mem *buddy, 171 void mlx5dr_buddy_free_mem(struct mlx5dr_icm_buddy_mem *buddy,
|
/Linux-v5.15/drivers/infiniband/hw/mthca/ |
D | mthca_mr.c | 42 struct mthca_buddy *buddy; member 84 static u32 mthca_buddy_alloc(struct mthca_buddy *buddy, int order) in mthca_buddy_alloc() argument 90 spin_lock(&buddy->lock); in mthca_buddy_alloc() 92 for (o = order; o <= buddy->max_order; ++o) in mthca_buddy_alloc() 93 if (buddy->num_free[o]) { in mthca_buddy_alloc() 94 m = 1 << (buddy->max_order - o); in mthca_buddy_alloc() 95 seg = find_first_bit(buddy->bits[o], m); in mthca_buddy_alloc() 100 spin_unlock(&buddy->lock); in mthca_buddy_alloc() 104 clear_bit(seg, buddy->bits[o]); in mthca_buddy_alloc() 105 --buddy->num_free[o]; in mthca_buddy_alloc() [all …]
|
/Linux-v5.15/arch/arm64/kvm/hyp/nvhe/ |
D | page_alloc.c | 56 struct hyp_page *buddy = __find_buddy_nocheck(pool, p, order); in __find_buddy_avail() local 58 if (!buddy || buddy->order != order || buddy->refcount) in __find_buddy_avail() 61 return buddy; in __find_buddy_avail() 97 struct hyp_page *buddy; in __hyp_attach_page() local 109 buddy = __find_buddy_avail(pool, p, order); in __hyp_attach_page() 110 if (!buddy) in __hyp_attach_page() 114 page_remove_from_list(buddy); in __hyp_attach_page() 115 buddy->order = HYP_NO_ORDER; in __hyp_attach_page() 116 p = min(p, buddy); in __hyp_attach_page() 128 struct hyp_page *buddy; in __hyp_extract_page() local [all …]
|
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx4/ |
D | mr.c | 46 static u32 mlx4_buddy_alloc(struct mlx4_buddy *buddy, int order) in mlx4_buddy_alloc() argument 52 spin_lock(&buddy->lock); in mlx4_buddy_alloc() 54 for (o = order; o <= buddy->max_order; ++o) in mlx4_buddy_alloc() 55 if (buddy->num_free[o]) { in mlx4_buddy_alloc() 56 m = 1 << (buddy->max_order - o); in mlx4_buddy_alloc() 57 seg = find_first_bit(buddy->bits[o], m); in mlx4_buddy_alloc() 62 spin_unlock(&buddy->lock); in mlx4_buddy_alloc() 66 clear_bit(seg, buddy->bits[o]); in mlx4_buddy_alloc() 67 --buddy->num_free[o]; in mlx4_buddy_alloc() 72 set_bit(seg ^ 1, buddy->bits[o]); in mlx4_buddy_alloc() [all …]
|
/Linux-v5.15/mm/ |
D | zbud.c | 127 struct list_head buddy; member 138 enum buddy { enum 158 INIT_LIST_HEAD(&zhdr->buddy); in init_zbud_page() 174 static unsigned long encode_handle(struct zbud_header *zhdr, enum buddy bud) in encode_handle() 273 enum buddy bud; in zbud_alloc() 287 struct zbud_header, buddy); in zbud_alloc() 288 list_del(&zhdr->buddy); in zbud_alloc() 316 list_add(&zhdr->buddy, &pool->unbuddied[freechunks]); in zbud_alloc() 319 list_add(&zhdr->buddy, &pool->buddied); in zbud_alloc() 364 list_del(&zhdr->buddy); in zbud_free() [all …]
|
D | z3fold.c | 79 enum buddy { enum 116 struct list_head buddy; member 410 INIT_LIST_HEAD(&zhdr->buddy); in init_z3fold_page() 428 static inline int __idx(struct z3fold_header *zhdr, enum buddy bud) in __idx() 439 enum buddy bud) in __encode_handle() 463 static unsigned long encode_handle(struct z3fold_header *zhdr, enum buddy bud) in encode_handle() 485 static enum buddy handle_to_buddy(unsigned long handle) in handle_to_buddy() 509 WARN_ON(!list_empty(&zhdr->buddy)); in __release_z3fold_page() 521 list_add(&zhdr->buddy, &pool->stale); in __release_z3fold_page() 548 list_del_init(&zhdr->buddy); in release_z3fold_page_locked_list() [all …]
|
D | page_isolation.c | 74 struct page *buddy; in unset_migratetype_isolate() local 94 buddy = page + (buddy_pfn - pfn); in unset_migratetype_isolate() 96 if (!is_migrate_isolate_page(buddy)) { in unset_migratetype_isolate()
|
D | page_alloc.c | 891 static inline bool page_is_buddy(struct page *page, struct page *buddy, in page_is_buddy() argument 894 if (!page_is_guard(buddy) && !PageBuddy(buddy)) in page_is_buddy() 897 if (buddy_order(buddy) != order) in page_is_buddy() 904 if (page_zone_id(page) != page_zone_id(buddy)) in page_is_buddy() 907 VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); in page_is_buddy() 1067 struct page *buddy; in __free_one_page() local 1090 buddy = page + (buddy_pfn - pfn); in __free_one_page() 1092 if (!page_is_buddy(page, buddy, order)) in __free_one_page() 1098 if (page_is_guard(buddy)) in __free_one_page() 1099 clear_page_guard(zone, buddy, order, migratetype); in __free_one_page() [all …]
|
/Linux-v5.15/drivers/gpu/drm/i915/ |
D | i915_buddy.c | 211 struct i915_buddy_block *buddy; in __i915_buddy_free() local 213 buddy = get_buddy(block); in __i915_buddy_free() 215 if (!i915_buddy_block_is_free(buddy)) in __i915_buddy_free() 218 list_del(&buddy->link); in __i915_buddy_free() 221 i915_block_free(mm, buddy); in __i915_buddy_free() 320 struct i915_buddy_block *buddy; in i915_buddy_alloc_range() local 394 buddy = get_buddy(block); in i915_buddy_alloc_range() 395 if (buddy && in i915_buddy_alloc_range() 397 i915_buddy_block_is_free(buddy))) in i915_buddy_alloc_range()
|
/Linux-v5.15/drivers/gpu/drm/i915/selftests/ |
D | i915_buddy.c | 13 bool buddy) in __igt_dump_block() argument 22 yesno(buddy)); in __igt_dump_block() 28 struct i915_buddy_block *buddy; in igt_dump_block() local 32 buddy = get_buddy(block); in igt_dump_block() 33 if (buddy) in igt_dump_block() 34 __igt_dump_block(mm, buddy, true); in igt_dump_block() 40 struct i915_buddy_block *buddy; in igt_check_block() local 83 buddy = get_buddy(block); in igt_check_block() 85 if (!buddy && block->parent) { in igt_check_block() 90 if (buddy) { in igt_check_block() [all …]
|
D | i915_mock_selftests.h | 36 selftest(buddy, i915_buddy_mock_selftests)
|
/Linux-v5.15/arch/mips/include/asm/ |
D | pgtable.h | 151 pte_t *buddy = ptep_buddy(ptep); local 156 if (pte_none(*buddy)) { 158 buddy->pte_low |= _PAGE_GLOBAL; 159 buddy->pte_high |= _PAGE_GLOBAL; 197 pte_t *buddy = ptep_buddy(ptep); local 203 cmpxchg64(&buddy->pte, 0, _PAGE_GLOBAL); 205 cmpxchg(&buddy->pte, 0, _PAGE_GLOBAL);
|
/Linux-v5.15/drivers/staging/r8188eu/core/ |
D | rtw_pwrctrl.c | 100 struct adapter *buddy = adapter->pbuddy_adapter; in rtw_pwr_unassociated_idle() local 124 if (buddy) { in rtw_pwr_unassociated_idle() 125 struct mlme_priv *b_pmlmepriv = &buddy->mlmepriv; in rtw_pwr_unassociated_idle() 127 struct wifidirect_info *b_pwdinfo = &buddy->wdinfo; in rtw_pwr_unassociated_idle()
|
/Linux-v5.15/drivers/dma-buf/heaps/ |
D | Kconfig | 6 is backed by pages from the buddy allocator. If in doubt, say Y.
|
/Linux-v5.15/fs/ext4/ |
D | mballoc.c | 680 void *buddy; in __mb_check_buddy() local 687 buddy = mb_find_buddy(e4b, order, &max); in __mb_check_buddy() 688 MB_CHECK_ASSERT(buddy); in __mb_check_buddy() 691 MB_CHECK_ASSERT(buddy != buddy2); in __mb_check_buddy() 697 if (mb_test_bit(i, buddy)) { in __mb_check_buddy() 725 buddy = mb_find_buddy(e4b, 0, &max); in __mb_check_buddy() 727 if (!mb_test_bit(i, buddy)) { in __mb_check_buddy() 755 MB_CHECK_ASSERT(mb_test_bit(k + i, buddy)); in __mb_check_buddy() 773 void *buddy, ext4_grpblk_t first, ext4_grpblk_t len, in ext4_mb_mark_free_simple() argument 801 buddy + sbi->s_mb_offsets[min]); in ext4_mb_mark_free_simple() [all …]
|
/Linux-v5.15/Documentation/gpu/rfc/ |
D | i915_gem_lmem.rst | 20 * Move i915 buddy allocator over to TTM
|
/Linux-v5.15/Documentation/trace/ |
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-v5.15/drivers/staging/rtl8723bs/core/ |
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-v5.15/fs/jfs/ |
D | jfs_dmap.c | 2797 int budsz, buddy; in dbJoin() local 2827 buddy = leafno ^ budsz; in dbJoin() 2832 if (newval > leaf[buddy]) in dbJoin() 2836 if (newval < leaf[buddy]) in dbJoin() 2847 if (leafno < buddy) { in dbJoin() 2850 dbAdjTree(tp, buddy, NOFREE); in dbJoin() 2856 leafno = buddy; in dbJoin()
|
/Linux-v5.15/Documentation/admin-guide/mm/ |
D | pagemap.rst | 99 a free memory block managed by the buddy system allocator 100 The buddy system organizes free memory in blocks of various orders.
|
/Linux-v5.15/Documentation/ABI/testing/ |
D | sysfs-fs-ext4 | 37 requests (as a power of 2) where the buddy cache is
|
/Linux-v5.15/arch/x86/kvm/vmx/ |
D | vmx.h | 350 struct loaded_vmcs *buddy);
|
/Linux-v5.15/include/linux/ |
D | page-flags.h | 751 PAGE_TYPE_OPS(Buddy, buddy)
|