/openbmc/linux/include/net/page_pool/ |
H A D | types.h | 123 struct page_pool { struct 185 struct page *page_pool_alloc_pages(struct page_pool *pool, gfp_t gfp); argument 188 struct page_pool *page_pool_create(const struct page_pool_params *params); 193 void page_pool_unlink_napi(struct page_pool *pool); 194 void page_pool_destroy(struct page_pool *pool); 197 void page_pool_put_page_bulk(struct page_pool *pool, void **data, 200 static inline void page_pool_unlink_napi(struct page_pool *pool) in page_pool_unlink_napi() 204 static inline void page_pool_destroy(struct page_pool *pool) in page_pool_destroy() 208 static inline void page_pool_use_xdp_mem(struct page_pool *pool, in page_pool_use_xdp_mem() 220 void page_pool_put_defragged_page(struct page_pool *pool, struct page *page, [all …]
|
H A D | helpers.h | 44 bool page_pool_get_stats(struct page_pool *pool, 69 static inline struct page *page_pool_dev_alloc_pages(struct page_pool *pool) in page_pool_dev_alloc_pages() 76 static inline struct page *page_pool_dev_alloc_frag(struct page_pool *pool, in page_pool_dev_alloc_frag() 93 inline enum dma_data_direction page_pool_get_dma_dir(struct page_pool *pool) in page_pool_get_dma_dir() 134 static inline bool page_pool_is_last_frag(struct page_pool *pool, in page_pool_is_last_frag() 155 static inline void page_pool_put_page(struct page_pool *pool, in page_pool_put_page() 180 static inline void page_pool_put_full_page(struct page_pool *pool, in page_pool_put_full_page() 194 static inline void page_pool_recycle_direct(struct page_pool *pool, in page_pool_recycle_direct() 227 static inline bool page_pool_put(struct page_pool *pool) in page_pool_put() 232 static inline void page_pool_nid_changed(struct page_pool *pool, int new_nid) in page_pool_nid_changed()
|
/openbmc/linux/include/trace/events/ |
H 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)
|
/openbmc/linux/net/core/ |
H A D | page_pool.c | 72 bool page_pool_get_stats(struct page_pool *pool, in page_pool_get_stats() 171 static int page_pool_init(struct page_pool *pool, in page_pool_init() 248 struct page_pool *pool; in page_pool_create() 495 static s32 page_pool_inflight(struct page_pool *pool) in page_pool_inflight() 571 struct page_pool *pool) in page_pool_recycle_in_cache() 731 static void page_pool_free_frag(struct page_pool *pool) in page_pool_free_frag() 805 static void page_pool_free(struct page_pool *pool) in page_pool_free() 838 static void page_pool_scrub(struct page_pool *pool) in page_pool_scrub() 849 static int page_pool_release(struct page_pool *pool) in page_pool_release() 892 void page_pool_unlink_napi(struct page_pool *pool) in page_pool_unlink_napi() [all …]
|
H A D | Makefile | 21 obj-$(CONFIG_PAGE_POOL) += page_pool.o
|
/openbmc/linux/Documentation/networking/ |
H A D | page_pool.rst | 7 .. kernel-doc:: include/net/page_pool/helpers.h 8 :doc: page_pool allocator 53 .. kernel-doc:: net/core/page_pool.c 56 .. kernel-doc:: include/net/page_pool/types.h 59 .. kernel-doc:: include/net/page_pool/helpers.h 64 .. kernel-doc:: net/core/page_pool.c 109 statistics about the page_pool. 111 .. kernel-doc:: include/net/page_pool/types.h 130 /* internal DMA mapping in page_pool */ 137 page_pool = page_pool_create(&pp_params); [all …]
|
H A D | index.rst | 28 page_pool
|
/openbmc/linux/drivers/net/ethernet/apm/xgene/ |
H 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 …]
|
H 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()
|
/openbmc/linux/drivers/net/vmxnet3/ |
H A D | vmxnet3_xdp.c | 272 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_run_xdp() 280 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_run_xdp() 297 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_run_xdp() 310 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_build_skb() 335 page = page_pool_alloc_pages(rq->page_pool, GFP_ATOMIC); in vmxnet3_process_xdp_small() 342 xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset, in vmxnet3_process_xdp_small() 385 rq->page_pool->p.offset, rbi->len, in vmxnet3_process_xdp() 386 page_pool_get_dma_dir(rq->page_pool)); in vmxnet3_process_xdp() 389 xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset, in vmxnet3_process_xdp() 407 new_data = vmxnet3_pp_get_buff(rq->page_pool, &new_dma_addr, in vmxnet3_process_xdp()
|
H A D | vmxnet3_xdp.h | 39 void *vmxnet3_pp_get_buff(struct page_pool *pp, dma_addr_t *dma_addr,
|
/openbmc/linux/include/net/ |
H A D | xdp_priv.h | 13 struct page_pool *page_pool; member
|
/openbmc/linux/drivers/net/ethernet/microchip/lan966x/ |
H A D | lan966x_fdma.c | 19 page = page_pool_dev_alloc_pages(rx->page_pool); in lan966x_fdma_rx_alloc_page() 34 page_pool_put_full_page(rx->page_pool, in lan966x_fdma_rx_free_pages() 47 page_pool_recycle_direct(rx->page_pool, page); in lan966x_fdma_rx_free_page() 87 rx->page_pool = page_pool_create(&pp_params); in lan966x_fdma_rx_alloc_page_pool() 98 rx->page_pool); in lan966x_fdma_rx_alloc_page_pool() 101 return PTR_ERR_OR_ZERO(rx->page_pool); in lan966x_fdma_rx_alloc_page_pool() 114 return PTR_ERR(rx->page_pool); in lan966x_fdma_rx_alloc() 910 struct page_pool *page_pool; in lan966x_fdma_reload() local 919 page_pool = lan966x->rx.page_pool; in lan966x_fdma_reload() 938 page_pool_destroy(page_pool); in lan966x_fdma_reload() [all …]
|
/openbmc/linux/block/ |
H 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()
|
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_txrx.h | 123 struct page_pool *page_pool; member
|
/openbmc/linux/drivers/net/ |
H A D | veth.c | 69 struct page_pool *page_pool; member 187 if (!priv->rq[i].page_pool) in veth_get_page_pool_stats() 749 page = page_pool_dev_alloc_pages(rq->page_pool); in veth_convert_skb_to_xdp_buff() 1035 rq->page_pool = page_pool_create(&pp_params); in veth_create_page_pool() 1036 if (IS_ERR(rq->page_pool)) { in veth_create_page_pool() 1037 int err = PTR_ERR(rq->page_pool); in veth_create_page_pool() 1039 rq->page_pool = NULL; in veth_create_page_pool() 1080 page_pool_destroy(priv->rq[i].page_pool); in __veth_napi_enable_range() 1081 priv->rq[i].page_pool = NULL; in __veth_napi_enable_range() 1114 page_pool_destroy(priv->rq[i].page_pool); in veth_napi_del_range() [all …]
|
/openbmc/linux/drivers/net/ethernet/socionext/ |
H 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 …]
|
/openbmc/linux/drivers/net/ethernet/ti/ |
H 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 …]
|
/openbmc/linux/drivers/net/ethernet/engleder/ |
H A D | tsnep.h | 129 struct page_pool *page_pool; member
|
H A D | tsnep_main.c | 908 if (rx->page_pool) in tsnep_rx_ring_cleanup() 909 page_pool_destroy(rx->page_pool); in tsnep_rx_ring_cleanup() 958 rx->page_pool = page_pool_create(&pp_params); in tsnep_rx_ring_create() 959 if (IS_ERR(rx->page_pool)) { in tsnep_rx_ring_create() 960 retval = PTR_ERR(rx->page_pool); in tsnep_rx_ring_create() 961 rx->page_pool = NULL; in tsnep_rx_ring_create() 1065 page = page_pool_dev_alloc_pages(rx->page_pool); in tsnep_rx_alloc_buffer() 1360 page_pool_recycle_direct(rx->page_pool, page); in tsnep_rx_page() 1382 dma_dir = page_pool_get_dma_dir(rx->page_pool); in tsnep_rx_poll() 1559 page = page_pool_dev_alloc_pages(rx->page_pool); in tsnep_rx_poll_zc() [all …]
|
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_xdp.c | 157 page_pool_recycle_direct(rxr->page_pool, tx_buf->page); in bnxt_tx_int_xdp() 215 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_xdp_buff_frags_free() 316 page_pool_recycle_direct(rxr->page_pool, page); in bnxt_rx_xdp() 470 struct page_pool *pool, struct xdp_buff *xdp, in bnxt_xdp_build_skb()
|
H A D | bnxt_xdp.h | 35 u8 num_frags, struct page_pool *pool,
|
/openbmc/linux/drivers/net/ethernet/wangxun/libwx/ |
H A D | wx_lib.c | 177 page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, false); in wx_dma_sync_frag() 272 page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, true); in wx_build_skb() 313 page = page_pool_dev_alloc_pages(rx_ring->page_pool); in wx_alloc_mapped_page() 2175 page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, false); in wx_clean_rx_ring() 2224 if (rx_ring->page_pool) { in wx_free_rx_resources() 2225 page_pool_destroy(rx_ring->page_pool); in wx_free_rx_resources() 2226 rx_ring->page_pool = NULL; in wx_free_rx_resources() 2377 rx_ring->page_pool = page_pool_create(&pp_params); in wx_alloc_page_pool() 2378 if (IS_ERR(rx_ring->page_pool)) { in wx_alloc_page_pool() 2379 ret = PTR_ERR(rx_ring->page_pool); in wx_alloc_page_pool() [all …]
|
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac.h | 108 struct page_pool *page_pool; member
|
/openbmc/linux/drivers/net/ethernet/marvell/mvpp2/ |
H 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() 662 priv->page_pool[i] = in mvpp2_bm_init() 763 struct page_pool *page_pool, in mvpp2_buf_alloc() argument 776 if (page_pool) { in mvpp2_buf_alloc() 3591 struct page_pool *page_pool, int pool) in mvpp2_rx_refill() argument [all …]
|