Home
last modified time | relevance | path

Searched refs:buddy (Results 1 – 25 of 43) sorted by relevance

12

/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/
A Dmlx5hws_buddy.c13 buddy->bitmap = kcalloc(buddy->max_order + 1, in hws_buddy_init()
16 if (!buddy->bitmap) in hws_buddy_init()
19 buddy->num_free = kcalloc(buddy->max_order + 1, in hws_buddy_init()
22 if (!buddy->num_free) { in hws_buddy_init()
37 bitmap_set(buddy->bitmap[buddy->max_order], 0, 1); in hws_buddy_init()
38 buddy->num_free[buddy->max_order] = 1; in hws_buddy_init()
49 kfree(buddy->bitmap); in hws_buddy_init()
57 buddy = kzalloc(sizeof(*buddy), GFP_KERNEL); in mlx5hws_buddy_create()
58 if (!buddy) in mlx5hws_buddy_create()
64 return buddy; in mlx5hws_buddy_create()
[all …]
A Dmlx5hws_pool.c130 struct mlx5hws_buddy_mem *buddy; in hws_pool_buddy_db_put_chunk() local
133 if (!buddy) { in hws_pool_buddy_db_put_chunk()
149 if (buddy) in hws_pool_buddy_get_next_buddy()
150 return buddy; in hws_pool_buddy_get_next_buddy()
155 if (!buddy) { in hws_pool_buddy_get_next_buddy()
164 mlx5hws_buddy_cleanup(buddy); in hws_pool_buddy_get_next_buddy()
170 return buddy; in hws_pool_buddy_get_next_buddy()
191 if (!buddy) { in hws_pool_buddy_get_mem_chunk()
247 if (buddy) { in hws_pool_buddy_db_uninit()
248 mlx5hws_buddy_cleanup(buddy); in hws_pool_buddy_db_uninit()
[all …]
A Dmlx5hws_buddy.h15 void mlx5hws_buddy_cleanup(struct mlx5hws_buddy_mem *buddy);
17 int mlx5hws_buddy_alloc_mem(struct mlx5hws_buddy_mem *buddy, u32 order);
19 void mlx5hws_buddy_free_mem(struct mlx5hws_buddy_mem *buddy, u32 seg, u32 order);
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/
A Ddr_buddy.c19 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 Ddr_icm_pool.c232 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 …]
A Dmlx5dr.h187 int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy,
189 void mlx5dr_buddy_cleanup(struct mlx5dr_icm_buddy_mem *buddy);
190 int mlx5dr_buddy_alloc_mem(struct mlx5dr_icm_buddy_mem *buddy,
193 void mlx5dr_buddy_free_mem(struct mlx5dr_icm_buddy_mem *buddy,
/linux/drivers/infiniband/hw/mthca/
A Dmthca_mr.c105 --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/arch/arm64/kvm/hyp/nvhe/
A Dpage_alloc.c58 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/drivers/net/ethernet/mellanox/mlx4/
A Dmr.c52 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/mm/
A Dzbud.c112 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 …]
A Dz3fold.c72 enum buddy { enum
109 struct list_head buddy; member
373 enum buddy bud) in __encode_handle()
502 list_del(&zhdr->buddy); in free_pages_work()
559 enum buddy bud = HEADLESS; in get_free_buddy()
1007 enum buddy bud; in z3fold_alloc()
1097 enum buddy bud; in z3fold_free()
1180 enum buddy buddy; in z3fold_map() local
1190 switch (buddy) { in z3fold_map()
1224 enum buddy buddy; in z3fold_unmap() local
[all …]
A Dinternal.h572 static inline bool page_is_buddy(struct page *page, struct page *buddy, in page_is_buddy() argument
575 if (!page_is_guard(buddy) && !PageBuddy(buddy)) in page_is_buddy()
578 if (buddy_order(buddy) != order) in page_is_buddy()
585 if (page_zone_id(page) != page_zone_id(buddy)) in page_is_buddy()
588 VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); in page_is_buddy()
634 struct page *buddy; in find_buddy_page_pfn() local
636 buddy = page + (__buddy_pfn - pfn); in find_buddy_page_pfn()
640 if (page_is_buddy(page, buddy, order)) in find_buddy_page_pfn()
641 return buddy; in find_buddy_page_pfn()
A Dpage_isolation.c211 struct page *buddy; in unset_migratetype_isolate() local
229 buddy = find_buddy_page_pfn(page, page_to_pfn(page), in unset_migratetype_isolate()
231 if (buddy && !is_migrate_isolate_page(buddy)) { in unset_migratetype_isolate()
A Dpage_alloc.c779 struct page *buddy; in __free_one_page() local
800 if (!buddy) in __free_one_page()
810 buddy_mt = get_pfnblock_migratetype(buddy, buddy_pfn); in __free_one_page()
822 if (page_is_guard(buddy)) in __free_one_page()
823 clear_page_guard(zone, buddy, order); in __free_one_page()
833 set_pageblock_migratetype(buddy, migratetype); in __free_one_page()
1794 struct page *buddy = pfn_to_page(pfn); in move_freepages_block_isolate() local
1795 int order = buddy_order(buddy); in move_freepages_block_isolate()
1797 del_page_from_free_list(buddy, zone, order, in move_freepages_block_isolate()
1798 get_pfnblock_migratetype(buddy, pfn)); in move_freepages_block_isolate()
[all …]
A Ddebug.c57 DEF_PAGETYPE_NAME(buddy),
/linux/drivers/gpu/drm/
A Ddrm_buddy.c128 struct drm_buddy_block *buddy; in __drm_buddy_free() local
130 buddy = __get_buddy(block); in __drm_buddy_free()
148 list_del(&buddy->link); in __drm_buddy_free()
153 drm_block_free(mm, buddy); in __drm_buddy_free()
194 buddy = __get_buddy(block); in __force_merge()
206 if (prev == buddy) in __force_merge()
484 struct drm_buddy_block *buddy; in __alloc_range_bias() local
559 buddy = __get_buddy(block); in __alloc_range_bias()
560 if (buddy && in __alloc_range_bias()
763 buddy = __get_buddy(block); in __alloc_range()
[all …]
/linux/fs/ext4/
A Dmballoc-test.c612 memset(buddy, 0xff, sb->s_blocksize); in mbt_generate_buddy()
618 bb_h = buddy + sbi->s_mb_offsets[1]; in mbt_generate_buddy()
639 bb = buddy + sbi->s_mb_offsets[order]; in mbt_generate_buddy()
769 memset(buddy, 0xff, sb->s_blocksize); in test_mb_mark_used_range()
783 void *bitmap, *buddy; in test_mb_mark_used() local
796 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buddy); in test_mb_mark_used()
807 ranges[i].len, bitmap, buddy, grp); in test_mb_mark_used()
831 memset(buddy, 0xff, sb->s_blocksize); in test_mb_free_blocks_range()
846 void *bitmap, *buddy; in test_mb_free_blocks() local
860 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buddy); in test_mb_free_blocks()
[all …]
A Dmballoc.c695 void *buddy; in __mb_check_buddy() local
703 MB_CHECK_ASSERT(buddy); in __mb_check_buddy()
712 if (mb_test_bit(i, buddy)) { in __mb_check_buddy()
739 if (!mb_test_bit(i, buddy)) { in __mb_check_buddy()
1243 void *buddy; in mb_regenerate_buddy() local
1847 while (buddy) { in mb_buddy_mark_free()
1895 buddy = buddy2; in mb_buddy_mark_free()
1991 void *buddy; in mb_find_extent() local
1997 BUG_ON(buddy == NULL); in mb_find_extent()
2055 void *buddy; in mb_mark_used() local
[all …]
/linux/arch/mips/include/asm/
A Dpgtable.h130 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);
/linux/drivers/dma-buf/heaps/
A DKconfig6 is backed by pages from the buddy allocator. If in doubt, say Y.
/linux/Documentation/mm/
A Dvmemmap_dedup.rst30 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
/linux/Documentation/gpu/rfc/
A Di915_gem_lmem.rst20 * Move i915 buddy allocator over to TTM
/linux/Documentation/trace/
A Devents-kmem.rst56 the per-CPU allocator (high performance) or the buddy allocator.
58 If pages are allocated directly from the buddy allocator, the
/linux/drivers/staging/rtl8723bs/core/
A Drtw_pwrctrl.c91 struct adapter *buddy = adapter->pbuddy_adapter; in rtw_pwr_unassociated_idle() local
111 if (buddy) { in rtw_pwr_unassociated_idle()
112 struct mlme_priv *b_pmlmepriv = &(buddy->mlmepriv); in rtw_pwr_unassociated_idle()
/linux/fs/jfs/
A Djfs_dmap.c2772 int budsz, buddy; in dbJoin() local
2802 buddy = leafno ^ budsz; in dbJoin()
2807 if (newval > leaf[buddy]) in dbJoin()
2811 if (newval < leaf[buddy]) in dbJoin()
2822 if (leafno < buddy) { in dbJoin()
2825 dbAdjTree(tp, buddy, NOFREE, is_ctl); in dbJoin()
2831 leafno = buddy; in dbJoin()

Completed in 82 milliseconds

12