| /drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
| A D | buddy.c | 13 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 D | pool.c | 117 if (!buddy) { in hws_pool_buddy_init() 126 mlx5hws_buddy_cleanup(buddy); in hws_pool_buddy_init() 130 pool->db.buddy = buddy; in hws_pool_buddy_init() 138 struct mlx5hws_buddy_mem *buddy = pool->db.buddy; in hws_pool_buddy_db_get_chunk() local 140 if (!buddy) { in hws_pool_buddy_db_get_chunk() 157 buddy = pool->db.buddy; in hws_pool_buddy_db_put_chunk() 158 if (!buddy) { in hws_pool_buddy_db_put_chunk() 170 buddy = pool->db.buddy; in hws_pool_buddy_db_uninit() 171 if (buddy) { in hws_pool_buddy_db_uninit() 173 kfree(buddy); in hws_pool_buddy_db_uninit() [all …]
|
| A D | buddy.h | 15 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);
|
| A D | pool.h | 59 struct mlx5hws_buddy_mem *buddy; member
|
| /drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| 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 …]
|
| 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 …]
|
| A D | mlx5dr.h | 185 int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy, 187 void mlx5dr_buddy_cleanup(struct mlx5dr_icm_buddy_mem *buddy); 188 int mlx5dr_buddy_alloc_mem(struct mlx5dr_icm_buddy_mem *buddy, 191 void mlx5dr_buddy_free_mem(struct mlx5dr_icm_buddy_mem *buddy,
|
| /drivers/infiniband/hw/mthca/ |
| A D | mthca_mr.c | 105 --buddy->num_free[o]; in mthca_buddy_alloc() 147 buddy->bits = kcalloc(buddy->max_order + 1, sizeof(*buddy->bits), 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 …]
|
| /drivers/net/ethernet/mellanox/mlx4/ |
| 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(*buddy->bits), 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 …]
|
| /drivers/gpu/drm/ |
| A D | drm_buddy.c | 131 struct drm_buddy_block *buddy; in __drm_buddy_free() local 133 buddy = __get_buddy(block); in __drm_buddy_free() 151 list_del(&buddy->link); in __drm_buddy_free() 156 drm_block_free(mm, buddy); in __drm_buddy_free() 185 struct drm_buddy_block *buddy; in __force_merge() local 197 buddy = __get_buddy(block); in __force_merge() 209 if (prev == buddy) in __force_merge() 608 buddy = __get_buddy(block); in __alloc_range_bias() 609 if (buddy && in __alloc_range_bias() 812 buddy = __get_buddy(block); in __alloc_range() [all …]
|
| A D | Kconfig | 224 A page based buddy allocator
|
| /drivers/dma-buf/heaps/ |
| A D | Kconfig | 6 is backed by pages from the buddy allocator. If in doubt, say Y.
|
| /drivers/staging/rtl8723bs/core/ |
| A D | rtw_pwrctrl.c | 86 struct adapter *buddy = adapter->pbuddy_adapter; in rtw_pwr_unassociated_idle() local 106 if (buddy) { in rtw_pwr_unassociated_idle() 107 struct mlme_priv *b_pmlmepriv = &(buddy->mlmepriv); in rtw_pwr_unassociated_idle()
|
| /drivers/gpu/drm/xe/ |
| A D | xe_svm.c | 526 struct drm_buddy *buddy = tile_to_buddy(tile); in xe_svm_populate_devmem_pfn() local 530 for (i = 0; i < drm_buddy_block_size(buddy, block) >> PAGE_SHIFT; ++i) in xe_svm_populate_devmem_pfn()
|
| /drivers/net/ethernet/mellanox/mlx5/core/ |
| A D | Makefile | 144 steering/hws/buddy.o \
|