Home
last modified time | relevance | path

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

/Linux-v4.19/drivers/infiniband/hw/mthca/
Dmthca_mr.c42 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-v4.19/drivers/infiniband/hw/hns/
Dhns_roce_mr.c71 static int hns_roce_buddy_alloc(struct hns_roce_buddy *buddy, int order, in hns_roce_buddy_alloc() argument
77 spin_lock(&buddy->lock); in hns_roce_buddy_alloc()
79 for (o = order; o <= buddy->max_order; ++o) { in hns_roce_buddy_alloc()
80 if (buddy->num_free[o]) { in hns_roce_buddy_alloc()
81 m = 1 << (buddy->max_order - o); in hns_roce_buddy_alloc()
82 *seg = find_first_bit(buddy->bits[o], m); in hns_roce_buddy_alloc()
87 spin_unlock(&buddy->lock); in hns_roce_buddy_alloc()
91 clear_bit(*seg, buddy->bits[o]); in hns_roce_buddy_alloc()
92 --buddy->num_free[o]; in hns_roce_buddy_alloc()
97 set_bit(*seg ^ 1, buddy->bits[o]); in hns_roce_buddy_alloc()
[all …]
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx4/
Dmr.c46 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-v4.19/mm/
Dz3fold.c45 enum buddy { enum
69 struct list_head buddy; member
188 INIT_LIST_HEAD(&zhdr->buddy); in init_z3fold_page()
221 static unsigned long encode_handle(struct z3fold_header *zhdr, enum buddy bud) in encode_handle()
242 static enum buddy handle_to_buddy(unsigned long handle) in handle_to_buddy()
253 WARN_ON(!list_empty(&zhdr->buddy)); in __release_z3fold_page()
263 list_add(&zhdr->buddy, &pool->stale); in __release_z3fold_page()
289 list_del_init(&zhdr->buddy); in release_z3fold_page_locked_list()
303 struct z3fold_header, buddy); in free_pages_work()
306 list_del(&zhdr->buddy); in free_pages_work()
[all …]
Dzbud.c115 struct list_head buddy; member
223 enum buddy { enum
243 INIT_LIST_HEAD(&zhdr->buddy); in init_zbud_page()
259 static unsigned long encode_handle(struct zbud_header *zhdr, enum buddy bud) in encode_handle()
358 enum buddy bud; in zbud_alloc()
373 struct zbud_header, buddy); in zbud_alloc()
374 list_del(&zhdr->buddy); in zbud_alloc()
402 list_add(&zhdr->buddy, &pool->unbuddied[freechunks]); in zbud_alloc()
405 list_add(&zhdr->buddy, &pool->buddied); in zbud_alloc()
450 list_del(&zhdr->buddy); in zbud_free()
[all …]
Dpage_isolation.c98 struct page *buddy; in unset_migratetype_isolate() local
118 buddy = page + (buddy_pfn - pfn); in unset_migratetype_isolate()
121 !is_migrate_isolate_page(buddy)) { in unset_migratetype_isolate()
Dpage_alloc.c719 static inline int page_is_buddy(struct page *page, struct page *buddy, in page_is_buddy() argument
722 if (page_is_guard(buddy) && page_order(buddy) == order) { in page_is_buddy()
723 if (page_zone_id(page) != page_zone_id(buddy)) in page_is_buddy()
726 VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); in page_is_buddy()
731 if (PageBuddy(buddy) && page_order(buddy) == order) { in page_is_buddy()
737 if (page_zone_id(page) != page_zone_id(buddy)) in page_is_buddy()
740 VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); in page_is_buddy()
778 struct page *buddy; in __free_one_page() local
796 buddy = page + (buddy_pfn - pfn); in __free_one_page()
800 if (!page_is_buddy(page, buddy, order)) in __free_one_page()
[all …]
/Linux-v4.19/arch/mips/include/asm/
Dpgtable.h156 pte_t *buddy = ptep_buddy(ptep); local
161 if (pte_none(*buddy)) {
163 buddy->pte_low |= _PAGE_GLOBAL;
164 buddy->pte_high |= _PAGE_GLOBAL;
202 pte_t *buddy = ptep_buddy(ptep); local
229 : [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp)
245 : [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp)
249 if (pte_none(*buddy))
250 pte_val(*buddy) = pte_val(*buddy) | _PAGE_GLOBAL;
/Linux-v4.19/fs/ext4/
Dmballoc.c558 void *buddy; in __mb_check_buddy() local
568 buddy = mb_find_buddy(e4b, order, &max); in __mb_check_buddy()
569 MB_CHECK_ASSERT(buddy); in __mb_check_buddy()
572 MB_CHECK_ASSERT(buddy != buddy2); in __mb_check_buddy()
578 if (mb_test_bit(i, buddy)) { in __mb_check_buddy()
606 buddy = mb_find_buddy(e4b, 0, &max); in __mb_check_buddy()
608 if (!mb_test_bit(i, buddy)) { in __mb_check_buddy()
636 MB_CHECK_ASSERT(mb_test_bit(k + i, buddy)); in __mb_check_buddy()
654 void *buddy, ext4_grpblk_t first, ext4_grpblk_t len, in ext4_mb_mark_free_simple() argument
682 buddy + sbi->s_mb_offsets[min]); in ext4_mb_mark_free_simple()
[all …]
/Linux-v4.19/drivers/staging/android/ion/
DKconfig18 is backed by pages from the buddy allocator. If in doubt, say Y.
/Linux-v4.19/Documentation/trace/
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-v4.19/fs/jfs/
Djfs_dmap.c2806 int budsz, buddy; in dbJoin() local
2836 buddy = leafno ^ budsz; in dbJoin()
2841 if (newval > leaf[buddy]) in dbJoin()
2845 if (newval < leaf[buddy]) in dbJoin()
2856 if (leafno < buddy) { in dbJoin()
2859 dbAdjTree(tp, buddy, NOFREE); in dbJoin()
2865 leafno = buddy; in dbJoin()
/Linux-v4.19/Documentation/admin-guide/mm/
Dpagemap.rst96 a free memory block managed by the buddy system allocator
97 The buddy system organizes free memory in blocks of various orders.
/Linux-v4.19/drivers/staging/rtl8723bs/core/
Drtw_pwrctrl.c100 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()
/Linux-v4.19/Documentation/ABI/testing/
Dsysfs-fs-ext437 requests (as a power of 2) where the buddy cache is
/Linux-v4.19/include/linux/
Dpage-flags.h688 PAGE_TYPE_OPS(Buddy, buddy)
/Linux-v4.19/include/trace/events/
Dext4.h978 __field( __u16, buddy )
1002 __entry->buddy = ac->ac_buddy;
1020 __entry->buddy ? 1 << __entry->buddy : 0)
/Linux-v4.19/Documentation/vm/
Dtranshuge.rst24 immediately in the buddy or through the VM), guest physical memory
Dhugetlbfs_reserv.rst229 an attempt will be made to allocate one using the buddy allocator. This
/Linux-v4.19/Documentation/filesystems/ext4/
Dext4.rst413 mb_groups details of multiblock allocator buddy cache of free blocks
467 for requests (as a power of 2) where the buddy
/Linux-v4.19/Documentation/RCU/
Drcu_dereference.txt40 classic buddy-allocator algorithms.
/Linux-v4.19/Documentation/filesystems/
Dproc.txt1383 mb_groups details of multiblock allocator buddy cache of free blocks
/Linux-v4.19/Documentation/admin-guide/
Dkernel-parameters.txt777 buddy allocator. Bigger value increase the probability
3045 poisoning on the buddy allocator, available with