Home
last modified time | relevance | path

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

12

/linux-6.3-rc2/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.c217 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 Dmlx5dr.h189 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 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-6.3-rc2/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-6.3-rc2/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-6.3-rc2/mm/
A Dzbud.c120 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 Dz3fold.c72 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 Dinternal.h278 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 Dpage_isolation.c212 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 Ddrm_buddy.c269 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 Ddrm_buddy_test.c47 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 Dpgtable.h306 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 Dpgtable.h133 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 DKconfig6 is backed by pages from the buddy allocator. If in doubt, say Y.
/linux-6.3-rc2/fs/ext4/
A Dmballoc.c683 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 Dvmemmap_dedup.rst29 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 Di915_gem_lmem.rst20 * Move i915 buddy allocator over to TTM
/linux-6.3-rc2/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-6.3-rc2/drivers/staging/rtl8723bs/core/
A Drtw_pwrctrl.c92 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 Djfs_dmap.c2753 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 Dpagemap.rst98 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 Dsysfs-fs-ext437 requests (as a power of 2) where the buddy cache is
/linux-6.3-rc2/Documentation/admin-guide/sysctl/
A Dvm.rst575 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 Dvmx.h391 struct loaded_vmcs *buddy);

Completed in 77 milliseconds

12