Home
last modified time | relevance | path

Searched refs:page_pool (Results 1 – 25 of 71) sorted by relevance

123

/openbmc/linux/include/net/page_pool/
H A Dtypes.h123 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 Dhelpers.h44 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 Dpage_pool.h3 #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 Dpage_pool.c72 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 DMakefile21 obj-$(CONFIG_PAGE_POOL) += page_pool.o
/openbmc/linux/Documentation/networking/
H A Dpage_pool.rst7 .. 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 Dindex.rst28 page_pool
/openbmc/linux/drivers/net/ethernet/apm/xgene/
H A Dxgene_enet_main.c690 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 Dxgene_enet_cle.c709 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 Dvmxnet3_xdp.c272 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 Dvmxnet3_xdp.h39 void *vmxnet3_pp_get_buff(struct page_pool *pp, dma_addr_t *dma_addr,
/openbmc/linux/include/net/
H A Dxdp_priv.h13 struct page_pool *page_pool; member
/openbmc/linux/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_fdma.c19 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 Dbounce.c32 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 Dotx2_txrx.h123 struct page_pool *page_pool; member
/openbmc/linux/drivers/net/
H A Dveth.c69 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 Dnetsec.c286 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 Dcpsw_priv.c1106 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 Dtsnep.h129 struct page_pool *page_pool; member
H A Dtsnep_main.c908 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 Dbnxt_xdp.c157 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 Dbnxt_xdp.h35 u8 num_frags, struct page_pool *pool,
/openbmc/linux/drivers/net/ethernet/wangxun/libwx/
H A Dwx_lib.c177 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 Dstmmac.h108 struct page_pool *page_pool; member
/openbmc/linux/drivers/net/ethernet/marvell/mvpp2/
H A Dmvpp2_main.c104 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 …]

123