| /kernel/linux/linux-6.6/net/xdp/ |
| D | xsk_buff_pool.c | 11 void xp_add_xsk(struct xsk_buff_pool *pool, struct xdp_sock *xs) in xp_add_xsk() argument 18 spin_lock_irqsave(&pool->xsk_tx_list_lock, flags); in xp_add_xsk() 19 list_add_rcu(&xs->tx_list, &pool->xsk_tx_list); in xp_add_xsk() 20 spin_unlock_irqrestore(&pool->xsk_tx_list_lock, flags); in xp_add_xsk() 23 void xp_del_xsk(struct xsk_buff_pool *pool, struct xdp_sock *xs) in xp_del_xsk() argument 30 spin_lock_irqsave(&pool->xsk_tx_list_lock, flags); in xp_del_xsk() 32 spin_unlock_irqrestore(&pool->xsk_tx_list_lock, flags); in xp_del_xsk() 35 void xp_destroy(struct xsk_buff_pool *pool) in xp_destroy() argument 37 if (!pool) in xp_destroy() 40 kvfree(pool->tx_descs); in xp_destroy() [all …]
|
| /kernel/linux/linux-5.10/net/xdp/ |
| D | xsk_buff_pool.c | 11 void xp_add_xsk(struct xsk_buff_pool *pool, struct xdp_sock *xs) in xp_add_xsk() argument 18 spin_lock_irqsave(&pool->xsk_tx_list_lock, flags); in xp_add_xsk() 19 list_add_rcu(&xs->tx_list, &pool->xsk_tx_list); in xp_add_xsk() 20 spin_unlock_irqrestore(&pool->xsk_tx_list_lock, flags); in xp_add_xsk() 23 void xp_del_xsk(struct xsk_buff_pool *pool, struct xdp_sock *xs) in xp_del_xsk() argument 30 spin_lock_irqsave(&pool->xsk_tx_list_lock, flags); in xp_del_xsk() 32 spin_unlock_irqrestore(&pool->xsk_tx_list_lock, flags); in xp_del_xsk() 35 void xp_destroy(struct xsk_buff_pool *pool) in xp_destroy() argument 37 if (!pool) in xp_destroy() 40 kvfree(pool->heads); in xp_destroy() [all …]
|
| /kernel/linux/linux-5.10/drivers/infiniband/sw/rxe/ |
| D | rxe_pool.c | 81 static inline const char *pool_name(struct rxe_pool *pool) in pool_name() argument 83 return rxe_type_info[pool->type].name; in pool_name() 86 static int rxe_pool_init_index(struct rxe_pool *pool, u32 max, u32 min) in rxe_pool_init_index() argument 91 if ((max - min + 1) < pool->max_elem) { in rxe_pool_init_index() 97 pool->max_index = max; in rxe_pool_init_index() 98 pool->min_index = min; in rxe_pool_init_index() 101 pool->table = kmalloc(size, GFP_KERNEL); in rxe_pool_init_index() 102 if (!pool->table) { in rxe_pool_init_index() 107 pool->table_size = size; in rxe_pool_init_index() 108 bitmap_zero(pool->table, max - min + 1); in rxe_pool_init_index() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
| D | k3-cppi-desc-pool.c | 2 /* TI K3 CPPI5 descriptors pool API 15 #include "k3-cppi-desc-pool.h" 27 void k3_cppi_desc_pool_destroy(struct k3_cppi_desc_pool *pool) in k3_cppi_desc_pool_destroy() argument 29 if (!pool) in k3_cppi_desc_pool_destroy() 32 WARN(gen_pool_size(pool->gen_pool) != gen_pool_avail(pool->gen_pool), in k3_cppi_desc_pool_destroy() 34 gen_pool_size(pool->gen_pool), in k3_cppi_desc_pool_destroy() 35 gen_pool_avail(pool->gen_pool)); in k3_cppi_desc_pool_destroy() 36 if (pool->cpumem) in k3_cppi_desc_pool_destroy() 37 dma_free_coherent(pool->dev, pool->mem_size, pool->cpumem, in k3_cppi_desc_pool_destroy() 38 pool->dma_addr); in k3_cppi_desc_pool_destroy() [all …]
|
| /kernel/linux/linux-6.6/net/core/ |
| D | page_pool.c | 33 #define alloc_stat_inc(pool, __stat) (pool->alloc_stats.__stat++) argument 35 #define recycle_stat_inc(pool, __stat) \ argument 37 struct page_pool_recycle_stats __percpu *s = pool->recycle_stats; \ 41 #define recycle_stat_add(pool, __stat, val) \ argument 43 struct page_pool_recycle_stats __percpu *s = pool->recycle_stats; \ 62 * page_pool_get_stats() - fetch page pool stats 63 * @pool: pool from which page was allocated 72 bool page_pool_get_stats(struct page_pool *pool, in page_pool_get_stats() argument 81 stats->alloc_stats.fast += pool->alloc_stats.fast; in page_pool_get_stats() 82 stats->alloc_stats.slow += pool->alloc_stats.slow; in page_pool_get_stats() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/ti/ |
| D | k3-cppi-desc-pool.c | 2 /* TI K3 CPPI5 descriptors pool API 15 #include "k3-cppi-desc-pool.h" 27 void k3_cppi_desc_pool_destroy(struct k3_cppi_desc_pool *pool) in k3_cppi_desc_pool_destroy() argument 29 if (!pool) in k3_cppi_desc_pool_destroy() 32 WARN(gen_pool_size(pool->gen_pool) != gen_pool_avail(pool->gen_pool), in k3_cppi_desc_pool_destroy() 34 gen_pool_size(pool->gen_pool), in k3_cppi_desc_pool_destroy() 35 gen_pool_avail(pool->gen_pool)); in k3_cppi_desc_pool_destroy() 36 if (pool->cpumem) in k3_cppi_desc_pool_destroy() 37 dma_free_coherent(pool->dev, pool->mem_size, pool->cpumem, in k3_cppi_desc_pool_destroy() 38 pool->dma_addr); in k3_cppi_desc_pool_destroy() [all …]
|
| /kernel/linux/linux-6.6/mm/ |
| D | mempool.c | 5 * memory buffer pool support. Such pools are mostly used 24 static void poison_error(mempool_t *pool, void *element, size_t size, in poison_error() argument 27 const int nr = pool->curr_nr; in poison_error() 33 pr_err("Mempool %p size %zu\n", pool, size); in poison_error() 41 static void __check_element(mempool_t *pool, void *element, size_t size) in __check_element() argument 50 poison_error(pool, element, size, i); in __check_element() 57 static void check_element(mempool_t *pool, void *element) in check_element() argument 60 if (pool->free == mempool_kfree) { in check_element() 61 __check_element(pool, element, (size_t)pool->pool_data); in check_element() 62 } else if (pool->free == mempool_free_slab) { in check_element() [all …]
|
| D | dmapool.c | 3 * DMA Pool allocator 14 * The current design of this allocator is fairly simple. The pool is 48 struct dma_pool { /* the pool */ 74 struct dma_pool *pool; in pools_show() local 80 list_for_each_entry(pool, &dev->dma_pools, pools) { in pools_show() 81 /* per-pool info, no real statistics yet */ in pools_show() 83 pool->name, pool->nr_active, in pools_show() 84 pool->nr_blocks, pool->size, in pools_show() 85 pool->nr_pages); in pools_show() 95 static void pool_check_block(struct dma_pool *pool, struct dma_block *block, in pool_check_block() argument [all …]
|
| /kernel/linux/linux-5.10/mm/ |
| D | mempool.c | 5 * memory buffer pool support. Such pools are mostly used 25 static void poison_error(mempool_t *pool, void *element, size_t size, in poison_error() argument 28 const int nr = pool->curr_nr; in poison_error() 34 pr_err("Mempool %p size %zu\n", pool, size); in poison_error() 42 static void __check_element(mempool_t *pool, void *element, size_t size) in __check_element() argument 51 poison_error(pool, element, size, i); in __check_element() 58 static void check_element(mempool_t *pool, void *element) in check_element() argument 61 if (pool->free == mempool_free_slab || pool->free == mempool_kfree) { in check_element() 62 __check_element(pool, element, ksize(element)); in check_element() 63 } else if (pool->free == mempool_free_pages) { in check_element() [all …]
|
| D | dmapool.c | 3 * DMA Pool allocator 14 * The current design of this allocator is fairly simple. The pool is 42 struct dma_pool { /* the pool */ 71 struct dma_pool *pool; in show_pools() local 81 list_for_each_entry(pool, &dev->dma_pools, pools) { in show_pools() 85 spin_lock_irq(&pool->lock); in show_pools() 86 list_for_each_entry(page, &pool->page_list, page_list) { in show_pools() 90 spin_unlock_irq(&pool->lock); in show_pools() 92 /* per-pool info, no real statistics yet */ in show_pools() 94 pool->name, blocks, in show_pools() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/android/ion/ |
| D | ion_page_pool.c | 3 * ION Memory Allocator page pool helpers 15 static inline struct page *ion_page_pool_alloc_pages(struct ion_page_pool *pool) in ion_page_pool_alloc_pages() argument 19 return alloc_pages(pool->gfp_mask, pool->order); in ion_page_pool_alloc_pages() 22 static void ion_page_pool_free_pages(struct ion_page_pool *pool, in ion_page_pool_free_pages() argument 25 __free_pages(page, pool->order); in ion_page_pool_free_pages() 28 static void ion_page_pool_add(struct ion_page_pool *pool, struct page *page) in ion_page_pool_add() argument 30 mutex_lock(&pool->mutex); in ion_page_pool_add() 32 list_add_tail(&page->lru, &pool->high_items); in ion_page_pool_add() 33 pool->high_count++; in ion_page_pool_add() 35 list_add_tail(&page->lru, &pool->low_items); in ion_page_pool_add() [all …]
|
| /kernel/linux/linux-5.10/net/core/ |
| D | page_pool.c | 24 static int page_pool_init(struct page_pool *pool, in page_pool_init() argument 29 memcpy(&pool->p, params, sizeof(pool->p)); in page_pool_init() 32 if (pool->p.flags & ~(PP_FLAG_ALL)) in page_pool_init() 35 if (pool->p.pool_size) in page_pool_init() 36 ring_qsize = pool->p.pool_size; in page_pool_init() 46 if (pool->p.flags & PP_FLAG_DMA_MAP) { in page_pool_init() 47 if ((pool->p.dma_dir != DMA_FROM_DEVICE) && in page_pool_init() 48 (pool->p.dma_dir != DMA_BIDIRECTIONAL)) in page_pool_init() 52 if (pool->p.flags & PP_FLAG_DMA_SYNC_DEV) { in page_pool_init() 56 if (!(pool->p.flags & PP_FLAG_DMA_MAP)) in page_pool_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/md/ |
| D | dm-thin.c | 41 * The block size of the device holding pool data must be 191 * A pool device ties together a metadata device and a data device. It 198 * The pool runs in various modes. Ordered in degraded order for comparisons. 229 struct pool { struct 231 struct dm_target *ti; /* Only set if a pool target is bound */ argument 289 static void metadata_operation_failed(struct pool *pool, const char *op, int r); argument 291 static enum pool_mode get_pool_mode(struct pool *pool) in get_pool_mode() argument 293 return pool->pf.mode; in get_pool_mode() 296 static void notify_of_pool_mode_change(struct pool *pool) in notify_of_pool_mode_change() argument 306 enum pool_mode mode = get_pool_mode(pool); in notify_of_pool_mode_change() [all …]
|
| /kernel/linux/linux-6.6/drivers/md/ |
| D | dm-thin.c | 42 * The block size of the device holding pool data must be 194 * A pool device ties together a metadata device and a data device. It 201 * The pool runs in various modes. Ordered in degraded order for comparisons. 232 struct pool { struct 234 struct dm_target *ti; /* Only set if a pool target is bound */ argument 290 static void metadata_operation_failed(struct pool *pool, const char *op, int r); argument 292 static enum pool_mode get_pool_mode(struct pool *pool) in get_pool_mode() argument 294 return pool->pf.mode; in get_pool_mode() 297 static void notify_of_pool_mode_change(struct pool *pool) in notify_of_pool_mode_change() argument 307 enum pool_mode mode = get_pool_mode(pool); in notify_of_pool_mode_change() [all …]
|
| /kernel/linux/linux-5.10/sound/core/seq/ |
| D | seq_memory.c | 22 static inline int snd_seq_pool_available(struct snd_seq_pool *pool) in snd_seq_pool_available() argument 24 return pool->total_elements - atomic_read(&pool->counter); in snd_seq_pool_available() 27 static inline int snd_seq_output_ok(struct snd_seq_pool *pool) in snd_seq_output_ok() argument 29 return snd_seq_pool_available(pool) >= pool->room; in snd_seq_output_ok() 166 static inline void free_cell(struct snd_seq_pool *pool, in free_cell() argument 169 cell->next = pool->free; in free_cell() 170 pool->free = cell; in free_cell() 171 atomic_dec(&pool->counter); in free_cell() 177 struct snd_seq_pool *pool; in snd_seq_cell_free() local 181 pool = cell->pool; in snd_seq_cell_free() [all …]
|
| /kernel/linux/linux-5.10/include/net/ |
| D | xdp_sock_drv.h | 14 void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries); 15 bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc); 16 void xsk_tx_release(struct xsk_buff_pool *pool); 19 void xsk_set_rx_need_wakeup(struct xsk_buff_pool *pool); 20 void xsk_set_tx_need_wakeup(struct xsk_buff_pool *pool); 21 void xsk_clear_rx_need_wakeup(struct xsk_buff_pool *pool); 22 void xsk_clear_tx_need_wakeup(struct xsk_buff_pool *pool); 23 bool xsk_uses_need_wakeup(struct xsk_buff_pool *pool); 25 static inline u32 xsk_pool_get_headroom(struct xsk_buff_pool *pool) in xsk_pool_get_headroom() argument 27 return XDP_PACKET_HEADROOM + pool->headroom; in xsk_pool_get_headroom() [all …]
|
| /kernel/linux/linux-5.10/net/ceph/ |
| D | msgpool.c | 14 struct ceph_msgpool *pool = arg; in msgpool_alloc() local 17 msg = ceph_msg_new2(pool->type, pool->front_len, pool->max_data_items, in msgpool_alloc() 20 dout("msgpool_alloc %s failed\n", pool->name); in msgpool_alloc() 22 dout("msgpool_alloc %s %p\n", pool->name, msg); in msgpool_alloc() 23 msg->pool = pool; in msgpool_alloc() 30 struct ceph_msgpool *pool = arg; in msgpool_free() local 33 dout("msgpool_release %s %p\n", pool->name, msg); in msgpool_free() 34 msg->pool = NULL; in msgpool_free() 38 int ceph_msgpool_init(struct ceph_msgpool *pool, int type, in ceph_msgpool_init() argument 43 pool->type = type; in ceph_msgpool_init() [all …]
|
| /kernel/linux/linux-6.6/net/ceph/ |
| D | msgpool.c | 14 struct ceph_msgpool *pool = arg; in msgpool_alloc() local 17 msg = ceph_msg_new2(pool->type, pool->front_len, pool->max_data_items, in msgpool_alloc() 20 dout("msgpool_alloc %s failed\n", pool->name); in msgpool_alloc() 22 dout("msgpool_alloc %s %p\n", pool->name, msg); in msgpool_alloc() 23 msg->pool = pool; in msgpool_alloc() 30 struct ceph_msgpool *pool = arg; in msgpool_free() local 33 dout("msgpool_release %s %p\n", pool->name, msg); in msgpool_free() 34 msg->pool = NULL; in msgpool_free() 38 int ceph_msgpool_init(struct ceph_msgpool *pool, int type, in ceph_msgpool_init() argument 43 pool->type = type; in ceph_msgpool_init() [all …]
|
| /kernel/linux/linux-6.6/sound/core/seq/ |
| D | seq_memory.c | 22 static inline int snd_seq_pool_available(struct snd_seq_pool *pool) in snd_seq_pool_available() argument 24 return pool->total_elements - atomic_read(&pool->counter); in snd_seq_pool_available() 27 static inline int snd_seq_output_ok(struct snd_seq_pool *pool) in snd_seq_output_ok() argument 29 return snd_seq_pool_available(pool) >= pool->room; in snd_seq_output_ok() 225 static inline void free_cell(struct snd_seq_pool *pool, in free_cell() argument 228 cell->next = pool->free; in free_cell() 229 pool->free = cell; in free_cell() 230 atomic_dec(&pool->counter); in free_cell() 236 struct snd_seq_pool *pool; in snd_seq_cell_free() local 240 pool = cell->pool; in snd_seq_cell_free() [all …]
|
| /kernel/linux/linux-6.6/include/net/ |
| D | xdp_sock_drv.h | 17 void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries); 18 bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc); 19 u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max); 20 void xsk_tx_release(struct xsk_buff_pool *pool); 23 void xsk_set_rx_need_wakeup(struct xsk_buff_pool *pool); 24 void xsk_set_tx_need_wakeup(struct xsk_buff_pool *pool); 25 void xsk_clear_rx_need_wakeup(struct xsk_buff_pool *pool); 26 void xsk_clear_tx_need_wakeup(struct xsk_buff_pool *pool); 27 bool xsk_uses_need_wakeup(struct xsk_buff_pool *pool); 29 static inline u32 xsk_pool_get_headroom(struct xsk_buff_pool *pool) in xsk_pool_get_headroom() argument [all …]
|
| /kernel/linux/linux-6.6/lib/ |
| D | genalloc.c | 16 * available. If new memory is added to the pool a lock has to be 146 * gen_pool_create - create a new special memory pool 148 * @nid: node id of the node the pool structure should be allocated on, or -1 150 * Create a new special memory pool that can be used to manage special purpose 155 struct gen_pool *pool; in gen_pool_create() local 157 pool = kmalloc_node(sizeof(struct gen_pool), GFP_KERNEL, nid); in gen_pool_create() 158 if (pool != NULL) { in gen_pool_create() 159 spin_lock_init(&pool->lock); in gen_pool_create() 160 INIT_LIST_HEAD(&pool->chunks); in gen_pool_create() 161 pool->min_alloc_order = min_alloc_order; in gen_pool_create() [all …]
|
| /kernel/linux/linux-5.10/lib/ |
| D | genalloc.c | 16 * available. If new memory is added to the pool a lock has to be 145 * gen_pool_create - create a new special memory pool 147 * @nid: node id of the node the pool structure should be allocated on, or -1 149 * Create a new special memory pool that can be used to manage special purpose 154 struct gen_pool *pool; in gen_pool_create() local 156 pool = kmalloc_node(sizeof(struct gen_pool), GFP_KERNEL, nid); in gen_pool_create() 157 if (pool != NULL) { in gen_pool_create() 158 spin_lock_init(&pool->lock); in gen_pool_create() 159 INIT_LIST_HEAD(&pool->chunks); in gen_pool_create() 160 pool->min_alloc_order = min_alloc_order; in gen_pool_create() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
| D | dr_icm_pool.c | 24 struct mutex mutex; /* protect the ICM pool and ICM buddy */ 82 u32 offset = mlx5dr_icm_pool_dm_type_to_entry_size(chunk->buddy_mem->pool->icm_type); in mlx5dr_icm_pool_get_chunk_mr_addr() 94 u32 size = mlx5dr_icm_pool_dm_type_to_entry_size(chunk->buddy_mem->pool->icm_type); in mlx5dr_icm_pool_get_chunk_icm_addr() 102 chunk->buddy_mem->pool->icm_type); in mlx5dr_icm_pool_get_chunk_byte_size() 111 dr_icm_pool_mr_create(struct mlx5dr_icm_pool *pool) in dr_icm_pool_mr_create() argument 113 struct mlx5_core_dev *mdev = pool->dmn->mdev; in dr_icm_pool_mr_create() 123 icm_mr->dmn = pool->dmn; in dr_icm_pool_mr_create() 125 icm_mr->dm.length = mlx5dr_icm_pool_chunk_size_to_byte(pool->max_log_chunk_sz, in dr_icm_pool_mr_create() 126 pool->icm_type); in dr_icm_pool_mr_create() 128 switch (pool->icm_type) { in dr_icm_pool_mr_create() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/media/atomisp/pci/runtime/rmgr/src/ |
| D | rmgr_vbuf.c | 31 * @brief VBUF resource pool - refpool 36 * @brief VBUF resource pool - writepool 43 * @brief VBUF resource pool - hmmbufferpool 124 * @brief Initialize the resource pool (host, vbuf) 126 * @param pool The pointer to the pool 128 int ia_css_rmgr_init_vbuf(struct ia_css_rmgr_vbuf_pool *pool) in ia_css_rmgr_init_vbuf() argument 134 assert(pool); in ia_css_rmgr_init_vbuf() 135 if (!pool) in ia_css_rmgr_init_vbuf() 137 /* initialize the recycle pool if used */ in ia_css_rmgr_init_vbuf() 138 if (pool->recycle && pool->size) { in ia_css_rmgr_init_vbuf() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/runtime/rmgr/src/ |
| D | rmgr_vbuf.c | 31 * @brief VBUF resource pool - refpool 42 * @brief VBUF resource pool - writepool 53 * @brief VBUF resource pool - hmmbufferpool 137 * @brief Initialize the resource pool (host, vbuf) 139 * @param pool The pointer to the pool 141 int ia_css_rmgr_init_vbuf(struct ia_css_rmgr_vbuf_pool *pool) in ia_css_rmgr_init_vbuf() argument 147 assert(pool); in ia_css_rmgr_init_vbuf() 148 if (!pool) in ia_css_rmgr_init_vbuf() 150 /* initialize the recycle pool if used */ in ia_css_rmgr_init_vbuf() 151 if (pool->recycle && pool->size) { in ia_css_rmgr_init_vbuf() [all …]
|