/linux-6.3-rc2/include/net/ |
A D | page_pool.h | 129 bool page_pool_get_stats(struct page_pool *pool, 150 struct page_pool { struct 249 void page_pool_destroy(struct page_pool *pool); 253 void page_pool_put_page_bulk(struct page_pool *pool, void **data, 256 static inline void page_pool_destroy(struct page_pool *pool) in page_pool_destroy() 260 static inline void page_pool_use_xdp_mem(struct page_pool *pool, in page_pool_use_xdp_mem() 324 static inline void page_pool_put_page(struct page_pool *pool, in page_pool_put_page() 383 static inline bool page_pool_put(struct page_pool *pool) in page_pool_put() 389 void page_pool_update_nid(struct page_pool *pool, int new_nid); 396 static inline void page_pool_ring_lock(struct page_pool *pool) in page_pool_ring_lock() [all …]
|
A D | xdp_priv.h | 13 struct page_pool *page_pool; member
|
/linux-6.3-rc2/net/core/ |
A D | page_pool.c | 60 bool page_pool_get_stats(struct page_pool *pool, in page_pool_get_stats() 136 static int page_pool_init(struct page_pool *pool, in page_pool_init() 205 struct page_pool *pool; in page_pool_create() 451 static s32 page_pool_inflight(struct page_pool *pool) in page_pool_inflight() 534 struct page_pool *pool) in page_pool_recycle_in_cache() 679 static void page_pool_free_frag(struct page_pool *pool) in page_pool_free_frag() 753 static void page_pool_free(struct page_pool *pool) in page_pool_free() 786 static void page_pool_scrub(struct page_pool *pool) in page_pool_scrub() 797 static int page_pool_release(struct page_pool *pool) in page_pool_release() 840 void page_pool_destroy(struct page_pool *pool) in page_pool_destroy() [all …]
|
A D | Makefile | 21 obj-$(CONFIG_PAGE_POOL) += page_pool.o
|
A D | xdp.c | 131 page_pool_destroy(xa->page_pool); in xdp_unreg_mem_model() 465 page_pool_put_page_bulk(xa->page_pool, bq->q, bq->count); in xdp_flush_frame_bulk() 544 page_pool_release_page(xa->page_pool, page); in __xdp_release_frame()
|
/linux-6.3-rc2/include/trace/events/ |
A D | page_pool.h | 3 #define TRACE_SYSTEM page_pool 16 TP_PROTO(const struct page_pool *pool, 22 __field(const struct page_pool *, pool) 44 TP_PROTO(const struct page_pool *pool, 50 __field(const struct page_pool *, pool) 69 TP_PROTO(const struct page_pool *pool, 75 __field(const struct page_pool *, pool) 94 TP_PROTO(const struct page_pool *pool, int new_nid), 99 __field(const struct page_pool *, pool)
|
/linux-6.3-rc2/Documentation/networking/ |
A D | page_pool.rst | 7 The page_pool allocator is optimized for the XDP mode that uses one frame 15 when it is safe to free a page_pool object. Thus, API users 123 statistics about the page_pool. 163 /* internal DMA mapping in page_pool */ 169 page_pool = page_pool_create(&pp_params); 188 dma_dir = page_pool_get_dma_dir(dring->page_pool); 191 page_pool_recycle_direct(page_pool, page); 194 page_pool_recycle_direct(page_pool, page); 196 page_pool_release_page(page_pool, page); 209 if (page_pool_get_stats(page_pool, &stats)) { [all …]
|
A D | index.rst | 28 page_pool
|
/linux-6.3-rc2/drivers/net/ethernet/apm/xgene/ |
A D | xgene_enet_main.c | 690 page_pool = rx_ring->page_pool; in xgene_enet_rx_frame() 1081 page_pool = ring->page_pool; in xgene_enet_delete_desc_rings() 1082 if (page_pool) { in xgene_enet_delete_desc_rings() 1179 page_pool = ring->page_pool; in xgene_enet_free_desc_rings() 1180 if (page_pool) { in xgene_enet_free_desc_rings() 1373 if (!page_pool) { in xgene_enet_create_desc_rings() 1395 page_pool->dst_ring_num = xgene_enet_dst_ring_num(page_pool); in xgene_enet_create_desc_rings() 1396 rx_ring->page_pool = page_pool; in xgene_enet_create_desc_rings() 1835 page_pool = pdata->rx_ring[i]->page_pool; in xgene_enet_init_hw() 1869 page_pool = pdata->rx_ring[0]->page_pool; in xgene_enet_init_hw() [all …]
|
A D | xgene_enet_cle.c | 709 if (pdata->rx_ring[idx]->page_pool) { in xgene_cle_set_rss_idt() 710 pool_id = pdata->rx_ring[idx]->page_pool->id; in xgene_cle_set_rss_idt() 786 if (pdata->rx_ring[0]->page_pool) { in xgene_enet_cle_init() 787 pool_id = pdata->rx_ring[0]->page_pool->id; in xgene_enet_cle_init()
|
/linux-6.3-rc2/drivers/net/ethernet/microchip/lan966x/ |
A D | lan966x_fdma.c | 18 page = page_pool_dev_alloc_pages(rx->page_pool); in lan966x_fdma_rx_alloc_page() 33 page_pool_put_full_page(rx->page_pool, in lan966x_fdma_rx_free_pages() 46 page_pool_recycle_direct(rx->page_pool, page); in lan966x_fdma_rx_free_page() 86 rx->page_pool = page_pool_create(&pp_params); in lan966x_fdma_rx_alloc_page_pool() 97 rx->page_pool); in lan966x_fdma_rx_alloc_page_pool() 100 return PTR_ERR_OR_ZERO(rx->page_pool); in lan966x_fdma_rx_alloc_page_pool() 113 return PTR_ERR(rx->page_pool); in lan966x_fdma_rx_alloc() 898 struct page_pool *page_pool; in lan966x_fdma_reload() local 907 page_pool = lan966x->rx.page_pool; in lan966x_fdma_reload() 926 page_pool_destroy(page_pool); in lan966x_fdma_reload() [all …]
|
/linux-6.3-rc2/block/ |
A D | bounce.c | 32 static mempool_t page_pool; variable 61 ret = mempool_init_page_pool(&page_pool, POOL_SIZE, 0); in init_emergency_pool() 116 mempool_free(bvec->bv_page, &page_pool); in bounce_end_io() 247 bounce_page = mempool_alloc(&page_pool, GFP_NOIO); in __blk_queue_bounce()
|
/linux-6.3-rc2/drivers/net/ethernet/socionext/ |
A D | netsec.c | 286 struct page_pool *page_pool; member 742 page = page_pool_dev_alloc_pages(dring->page_pool); in netsec_alloc_rx_data() 863 page_pool_get_dma_dir(rx_ring->page_pool); in netsec_xdp_queue_one() 966 dma_dir = page_pool_get_dma_dir(dring->page_pool); in netsec_process_rx() 1041 page_pool_put_page(dring->page_pool, page, pkt_len, in netsec_process_rx() 1227 page_pool_destroy(dring->page_pool); in netsec_uninit_pkt_dring() 1308 dring->page_pool = page_pool_create(&pp_params); in netsec_setup_rx_dring() 1309 if (IS_ERR(dring->page_pool)) { in netsec_setup_rx_dring() 1310 err = PTR_ERR(dring->page_pool); in netsec_setup_rx_dring() 1311 dring->page_pool = NULL; in netsec_setup_rx_dring() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/wangxun/libwx/ |
A D | wx_lib.c | 88 page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, false); in wx_dma_sync_frag() 148 page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, false); in wx_put_rx_buffer() 235 page = page_pool_dev_alloc_pages(rx_ring->page_pool); in wx_alloc_mapped_page() 1542 page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, false); in wx_clean_rx_ring() 1593 if (rx_ring->page_pool) { in wx_free_rx_resources() 1594 page_pool_destroy(rx_ring->page_pool); in wx_free_rx_resources() 1595 rx_ring->page_pool = NULL; in wx_free_rx_resources() 1746 rx_ring->page_pool = page_pool_create(&pp_params); in wx_alloc_page_pool() 1747 if (IS_ERR(rx_ring->page_pool)) { in wx_alloc_page_pool() 1748 ret = PTR_ERR(rx_ring->page_pool); in wx_alloc_page_pool() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/ti/ |
A D | cpsw_priv.c | 1106 struct page_pool *pool; in cpsw_fill_rx_channels() 1113 pool = cpsw->page_pool[ch]; in cpsw_fill_rx_channels() 1147 static struct page_pool *cpsw_create_page_pool(struct cpsw_common *cpsw, in cpsw_create_page_pool() 1151 struct page_pool *pool; in cpsw_create_page_pool() 1169 struct page_pool *pool; in cpsw_create_rx_pool() 1177 cpsw->page_pool[ch] = pool; in cpsw_create_rx_pool() 1186 struct page_pool *pool; in cpsw_ndev_create_xdp_rxq() 1189 pool = cpsw->page_pool[ch]; in cpsw_ndev_create_xdp_rxq() 1227 page_pool_destroy(cpsw->page_pool[ch]); in cpsw_destroy_xdp_rxqs() 1228 cpsw->page_pool[ch] = NULL; in cpsw_destroy_xdp_rxqs() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/engleder/ |
A D | tsnep.h | 122 struct page_pool *page_pool; member
|
A D | tsnep_main.c | 779 page_pool_put_full_page(rx->page_pool, entry->page, in tsnep_rx_ring_cleanup() 784 if (rx->page_pool) in tsnep_rx_ring_cleanup() 785 page_pool_destroy(rx->page_pool); in tsnep_rx_ring_cleanup() 834 rx->page_pool = page_pool_create(&pp_params); in tsnep_rx_ring_init() 835 if (IS_ERR(rx->page_pool)) { in tsnep_rx_ring_init() 836 retval = PTR_ERR(rx->page_pool); in tsnep_rx_ring_init() 837 rx->page_pool = NULL; in tsnep_rx_ring_init() 876 page = page_pool_dev_alloc_pages(rx->page_pool); in tsnep_rx_alloc_buffer() 1066 dma_dir = page_pool_get_dma_dir(rx->page_pool); in tsnep_rx_poll() 1145 page_pool_release_page(rx->page_pool, entry->page); in tsnep_rx_poll() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/broadcom/bnxt/ |
A D | bnxt_xdp.c | 159 page_pool_recycle_direct(rxr->page_pool, tx_buf->page); in bnxt_tx_int_xdp() 212 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_xdp_buff_frags_free() 313 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_rx_xdp() 467 struct page_pool *pool, struct xdp_buff *xdp, in bnxt_xdp_build_skb()
|
A D | bnxt_xdp.h | 35 u8 num_frags, struct page_pool *pool,
|
/linux-6.3-rc2/drivers/net/ethernet/marvell/mvpp2/ |
A D | mvpp2_main.c | 104 static struct page_pool * 361 struct page_pool *page_pool) in mvpp2_frag_alloc() argument 363 if (page_pool) in mvpp2_frag_alloc() 373 struct page_pool *page_pool, void *data) in mvpp2_frag_free() argument 375 if (page_pool) in mvpp2_frag_free() 495 struct page_pool *pp = NULL; in mvpp2_bm_bufs_free() 637 priv->page_pool[i] = in mvpp2_bm_init() 738 struct page_pool *page_pool, in mvpp2_buf_alloc() argument 751 if (page_pool) { in mvpp2_buf_alloc() 3566 struct page_pool *page_pool, int pool) in mvpp2_rx_refill() argument [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/stmicro/stmmac/ |
A D | stmmac.h | 100 struct page_pool *page_pool; member
|
/linux-6.3-rc2/drivers/net/ethernet/marvell/ |
A D | mvneta.c | 713 struct page_pool *page_pool; member 1936 page = page_pool_alloc_pages(rxq->page_pool, in mvneta_rx_refill() 2013 page_pool_destroy(rxq->page_pool); in mvneta_rxq_drop_pkts() 2014 rxq->page_pool = NULL; in mvneta_rxq_drop_pkts() 2075 page_pool_put_full_page(rxq->page_pool, in mvneta_xdp_put_buff() 3296 if (IS_ERR(rxq->page_pool)) { in mvneta_create_page_pool() 3297 err = PTR_ERR(rxq->page_pool); in mvneta_create_page_pool() 3298 rxq->page_pool = NULL; in mvneta_create_page_pool() 3308 rxq->page_pool); in mvneta_create_page_pool() 3317 page_pool_destroy(rxq->page_pool); in mvneta_create_page_pool() [all …]
|
/linux-6.3-rc2/drivers/net/ |
A D | xen-netfront.c | 156 struct page_pool *page_pool; member 281 page = page_pool_alloc_pages(queue->page_pool, in xennet_alloc_one_rx_buffer() 1846 page_pool_destroy(queue->page_pool); in xennet_disconnect_backend() 2172 queue->page_pool = page_pool_create(&pp_params); in xennet_create_page_pool() 2173 if (IS_ERR(queue->page_pool)) { in xennet_create_page_pool() 2174 err = PTR_ERR(queue->page_pool); in xennet_create_page_pool() 2175 queue->page_pool = NULL; in xennet_create_page_pool() 2187 MEM_TYPE_PAGE_POOL, queue->page_pool); in xennet_create_page_pool() 2197 page_pool_destroy(queue->page_pool); in xennet_create_page_pool() 2198 queue->page_pool = NULL; in xennet_create_page_pool()
|
/linux-6.3-rc2/drivers/net/ethernet/hisilicon/hns3/ |
A D | hns3_debugfs.c | 1098 READ_ONCE(ring->page_pool->pages_state_hold_cnt)); in hns3_dump_page_pool_info() 1100 atomic_read(&ring->page_pool->pages_state_release_cnt)); in hns3_dump_page_pool_info() 1101 sprintf(result[j++], "%u", ring->page_pool->p.pool_size); in hns3_dump_page_pool_info() 1102 sprintf(result[j++], "%u", ring->page_pool->p.order); in hns3_dump_page_pool_info() 1103 sprintf(result[j++], "%d", ring->page_pool->p.nid); in hns3_dump_page_pool_info() 1104 sprintf(result[j++], "%uK", ring->page_pool->p.max_len / 1024); in hns3_dump_page_pool_info() 1123 if (!priv->ring[h->kinfo.num_tqps].page_pool) { in hns3_dbg_page_pool_info()
|
/linux-6.3-rc2/drivers/net/ethernet/freescale/ |
A D | fec_main.c | 439 rxq->page_pool = page_pool_create(&pp_params); in fec_enet_create_page_pool() 440 if (IS_ERR(rxq->page_pool)) { in fec_enet_create_page_pool() 441 err = PTR_ERR(rxq->page_pool); in fec_enet_create_page_pool() 442 rxq->page_pool = NULL; in fec_enet_create_page_pool() 451 rxq->page_pool); in fec_enet_create_page_pool() 460 page_pool_destroy(rxq->page_pool); in fec_enet_create_page_pool() 461 rxq->page_pool = NULL; in fec_enet_create_page_pool() 2812 if (!rxq->page_pool) in fec_enet_page_pool_stats() 2815 page_pool_get_stats(rxq->page_pool, &stats); in fec_enet_page_pool_stats() 3254 page_pool_destroy(rxq->page_pool); in fec_enet_free_buffers() [all …]
|