Home
last modified time | relevance | path

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

12345

/linux/include/net/page_pool/
H A Dtypes.h176 struct page_pool { struct
264 struct page *page_pool_alloc_pages(struct page_pool *pool, gfp_t gfp); argument
265 netmem_ref page_pool_alloc_netmems(struct page_pool *pool, gfp_t gfp);
266 struct page *page_pool_alloc_frag(struct page_pool *pool, unsigned int *offset,
268 netmem_ref page_pool_alloc_frag_netmem(struct page_pool *pool,
271 struct page_pool *page_pool_create(const struct page_pool_params *params);
272 struct page_pool *page_pool_create_percpu(const struct page_pool_params *params,
278 void page_pool_enable_direct_recycling(struct page_pool *pool,
280 void page_pool_disable_direct_recycling(struct page_pool *pool);
281 void page_pool_destroy(struct page_pool *pool);
[all …]
/linux/net/core/
H A Dmp_dmabuf_devmem.h14 int mp_dmabuf_devmem_init(struct page_pool *pool);
16 netmem_ref mp_dmabuf_devmem_alloc_netmems(struct page_pool *pool, gfp_t gfp);
18 void mp_dmabuf_devmem_destroy(struct page_pool *pool);
20 bool mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem);
22 static inline int mp_dmabuf_devmem_init(struct page_pool *pool) in mp_dmabuf_devmem_init()
28 mp_dmabuf_devmem_alloc_netmems(struct page_pool *pool, gfp_t gfp) in mp_dmabuf_devmem_alloc_netmems()
33 static inline void mp_dmabuf_devmem_destroy(struct page_pool *pool) in mp_dmabuf_devmem_destroy()
38 mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem) in mp_dmabuf_devmem_release_page()
H A Dpage_pool.c3 * page_pool.c
16 #include <net/page_pool/helpers.h>
17 #include <net/page_pool/memory_provider.h>
28 #include <trace/events/page_pool.h>
82 * Retrieve statistics about the page_pool. This API is only available
88 void page_pool_get_stats(const struct page_pool *pool, in page_pool_get_stats()
159 static bool page_pool_producer_lock(struct page_pool *pool) in page_pool_producer_lock()
172 static void page_pool_producer_unlock(struct page_pool *pool, in page_pool_producer_unlock()
184 CACHELINE_ASSERT_GROUP_MEMBER(struct page_pool, frag, frag_users); in page_pool_struct_check()
185 CACHELINE_ASSERT_GROUP_MEMBER(struct page_pool, fra in page_pool_struct_check()
[all...]
H A Dpage_pool_priv.h12 s32 page_pool_inflight(const struct page_pool *pool, bool strict);
14 int page_pool_list(struct page_pool *pool);
15 void page_pool_detached(struct page_pool *pool);
16 void page_pool_unlist(struct page_pool *pool);
41 void page_pool_set_pp_info(struct page_pool *pool, netmem_ref netmem);
46 static inline void page_pool_set_pp_info(struct page_pool *pool, in page_pool_set_pp_info()
H A Ddevmem.c451 int mp_dmabuf_devmem_init(struct page_pool *pool) in mp_dmabuf_devmem_init()
471 netmem_ref mp_dmabuf_devmem_alloc_netmems(struct page_pool *pool, gfp_t gfp) in mp_dmabuf_devmem_alloc_netmems()
490 void mp_dmabuf_devmem_destroy(struct page_pool *pool) in mp_dmabuf_devmem_destroy()
497 bool mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem) in mp_dmabuf_devmem_release_page()
H A Dxdp.c132 page_pool_destroy(xa->page_pool); in xdp_unreg_mem_model()
381 int xdp_reg_page_pool(struct page_pool *pool) in xdp_reg_page_pool()
396 void xdp_unreg_page_pool(const struct page_pool *pool) in xdp_unreg_page_pool()
416 const struct page_pool *pool) in xdp_rxq_info_attach_page_pool()
689 struct page_pool *pp) in xdp_copy_frags_from_zc()
745 struct page_pool *pp; in xdp_build_skb_from_zc()
/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)
70 TP_PROTO(const struct page_pool *pool,
76 __field(const struct page_pool *, pool)
96 TP_PROTO(const struct page_pool *pool, int new_nid),
101 __field(const struct page_pool *, pool)
/linux/drivers/net/ethernet/apm/xgene/
H A Dxgene_enet_main.c672 struct xgene_enet_desc_ring *buf_pool, *page_pool; in xgene_enet_rx_frame() local
690 page_pool = rx_ring->page_pool; in xgene_enet_rx_frame()
719 xgene_enet_free_pagepool(page_pool, raw_desc, exp_desc); in xgene_enet_rx_frame()
729 slots = page_pool->slots - 1; in xgene_enet_rx_frame()
730 head = page_pool->head; in xgene_enet_rx_frame()
741 page = page_pool->frag_page[head]; in xgene_enet_rx_frame()
747 page_pool->frag_page[head] = NULL; in xgene_enet_rx_frame()
751 page_pool->head = head; in xgene_enet_rx_frame()
764 ret = xgene_enet_refill_pagepool(page_pool, NUM_NXTBUFPOOL); in xgene_enet_rx_frame()
1062 struct xgene_enet_desc_ring *buf_pool, *page_pool; in xgene_enet_delete_desc_rings() local
[all …]
/linux/drivers/net/vmxnet3/
H A Dvmxnet3_xdp.c282 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_run_xdp()
290 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_run_xdp()
307 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_run_xdp()
320 page_pool_recycle_direct(rq->page_pool, page); in vmxnet3_build_skb()
345 page = page_pool_alloc_pages(rq->page_pool, GFP_ATOMIC); in vmxnet3_process_xdp_small()
352 xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset, in vmxnet3_process_xdp_small()
395 rq->page_pool->p.offset, rbi->len, in vmxnet3_process_xdp()
396 page_pool_get_dma_dir(rq->page_pool)); in vmxnet3_process_xdp()
399 xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset, in vmxnet3_process_xdp()
417 new_data = vmxnet3_pp_get_buff(rq->page_pool, &new_dma_addr, in vmxnet3_process_xdp()
/linux/include/net/
H A Dxdp_priv.h13 struct page_pool *page_pool; member
H A Dnetmem.h35 struct page_pool *pp;
286 static inline struct page_pool *__netmem_get_pp(netmem_ref netmem) in __netmem_get_pp()
291 static inline struct page_pool *netmem_get_pp(netmem_ref netmem) in netmem_get_pp()
/linux/drivers/net/ethernet/microchip/sparx5/lan969x/
H A Dlan969x_fdma.c31 page = page_pool_dev_alloc_pages(rx->page_pool); in lan969x_fdma_rx_dataptr_cb()
95 page_pool_put_full_page(rx->page_pool, in lan969x_fdma_free_pages()
145 page_pool_recycle_direct(rx->page_pool, page); in lan969x_fdma_rx_get_frame()
168 rx->page_pool = page_pool_create(&pp_params); in lan969x_fdma_rx_alloc()
169 if (IS_ERR(rx->page_pool)) in lan969x_fdma_rx_alloc()
170 return PTR_ERR(rx->page_pool); in lan969x_fdma_rx_alloc()
401 page_pool_destroy(rx->page_pool); in lan969x_fdma_deinit()
/linux/drivers/net/ethernet/google/gve/
H A Dgve_rx_dqo.c112 if (rx->dqo.page_pool) in gve_rx_reset_ring_dqo()
131 if (rx->dqo.page_pool) in gve_rx_stop_ring_dqo()
132 page_pool_disable_direct_recycling(rx->dqo.page_pool); in gve_rx_stop_ring_dqo()
162 if (rx->dqo.page_pool) in gve_rx_free_ring_dqo()
196 if (rx->dqo.page_pool) { in gve_rx_free_ring_dqo()
197 page_pool_destroy(rx->dqo.page_pool); in gve_rx_free_ring_dqo()
198 rx->dqo.page_pool = NULL; in gve_rx_free_ring_dqo()
235 struct page_pool *pool; in gve_rx_alloc_ring_dqo()
295 rx->dqo.page_pool = pool; in gve_rx_alloc_ring_dqo()
587 if (rx->dqo.page_pool) { in gve_skb_add_rx_frag()
[all …]
/linux/drivers/net/ethernet/hisilicon/hibmcge/
H A Dhbg_txrx.c80 page_pool_put_full_page(ring->page_pool, buffer->page, false); in hbg_buffer_free_page()
95 if (unlikely(!ring->page_pool)) in hbg_buffer_alloc_page()
98 buffer->page = page_pool_dev_alloc_frag(ring->page_pool, &offset, len); in hbg_buffer_alloc_page()
540 if (!ring->page_pool) in hbg_ring_page_pool_destory()
543 page_pool_destroy(ring->page_pool); in hbg_ring_page_pool_destory()
544 ring->page_pool = NULL; in hbg_ring_page_pool_destory()
563 ring->page_pool = page_pool_create(&pp_params); in hbg_ring_page_pool_init()
564 if (IS_ERR(ring->page_pool)) { in hbg_ring_page_pool_init()
565 ret = PTR_ERR(ring->page_pool); in hbg_ring_page_pool_init()
568 ring->page_pool = NULL; in hbg_ring_page_pool_init()
/linux/drivers/net/netdevsim/
H A Dnetdev.c417 static int nsim_create_page_pool(struct page_pool **p, struct napi_struct *napi) in nsim_create_page_pool()
428 struct page_pool *pool; in nsim_create_page_pool()
453 err = nsim_create_page_pool(&rq->page_pool, &rq->napi); in nsim_init_napi()
462 page_pool_destroy(ns->rq[i]->page_pool); in nsim_init_napi()
463 ns->rq[i]->page_pool = NULL; in nsim_init_napi()
539 page_pool_destroy(ns->rq[i]->page_pool); in nsim_del_napi()
540 ns->rq[i]->page_pool = NULL; in nsim_del_napi()
747 struct page_pool *pp;
772 err = nsim_create_page_pool(&qmem->rq->page_pool, &qmem->rq->napi); in nsim_queue_mem_alloc()
796 page_pool_destroy(qmem->rq->page_pool); in nsim_queue_mem_free()
[all …]
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.h133 struct page_pool *page_pool; member
/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()
922 page_pool_put_page(dring->page_pool, page, sync, true); in netsec_run_xdp()
932 page_pool_put_page(dring->page_pool, page, sync, true); in netsec_run_xdp()
944 page_pool_put_page(dring->page_pool, page, sync, true); in netsec_run_xdp()
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()
1218 page_pool_put_full_page(dring->page_pool, page, false); in netsec_uninit_pkt_dring()
1230 page_pool_destroy(dring->page_pool); in netsec_uninit_pkt_dring()
[all …]
/linux/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_txrx.h129 struct page_pool *page_pool; member
/linux/tools/testing/selftests/net/bench/
H A DMakefile3 TEST_GEN_MODS_DIR := page_pool
/linux/drivers/net/ethernet/ti/
H A Dcpsw_priv.c1113 struct page_pool *pool; in cpsw_fill_rx_channels()
1120 pool = cpsw->page_pool[ch]; in cpsw_fill_rx_channels()
1155 static struct page_pool *cpsw_create_page_pool(struct cpsw_common *cpsw, in cpsw_create_page_pool()
1159 struct page_pool *pool; in cpsw_create_page_pool()
1177 struct page_pool *pool; in cpsw_create_rx_pool()
1185 cpsw->page_pool[ch] = pool; in cpsw_create_rx_pool()
1194 struct page_pool *pool; in cpsw_ndev_create_xdp_rxq()
1197 pool = cpsw->page_pool[ch]; in cpsw_ndev_create_xdp_rxq()
1235 page_pool_destroy(cpsw->page_pool[ch]); in cpsw_destroy_xdp_rxqs()
1236 cpsw->page_pool[ch] = NULL; in cpsw_destroy_xdp_rxqs()
[all …]
H A Dam65-cpsw-nuss.h103 struct page_pool *page_pool; member
/linux/drivers/net/
H A Dvirtio_net.c352 struct page_pool *page_pool; member
705 if (!rq->page_pool) in virtnet_rq_free_buf()
708 page_pool_put_page(rq->page_pool, virt_to_head_page(buf), -1, false); in virtnet_rq_free_buf()
874 if (!rq->page_pool) { in page_to_skb()
925 page_pool_put_page(rq->page_pool, page_to_free, -1, true); in page_to_skb()
932 BUG_ON(!rq->page_pool); in virtnet_rq_get_buf()
1680 page_pool_put_page(rq->page_pool, xdp_page, -1, true); in put_xdp_frags()
1772 page = page_pool_alloc_pages(rq->page_pool, GFP_ATOMIC); in xdp_linearize_page()
1796 page_pool_dma_sync_for_cpu(rq->page_pool, p, in xdp_linearize_page()
1800 page_pool_put_page(rq->page_pool, p, -1, true); in xdp_linearize_page()
[all …]
H A Dveth.c71 struct page_pool *page_pool; member
190 if (!priv->rq[i].page_pool) in veth_get_page_pool_stats()
192 page_pool_get_stats(priv->rq[i].page_pool, &pp_stats); in veth_get_page_pool_stats()
762 if (skb_pp_cow_data(rq->page_pool, pskb, XDP_PACKET_HEADROOM)) in veth_convert_skb_to_xdp_buff()
1024 rq->page_pool = page_pool_create(&pp_params); in veth_create_page_pool()
1025 if (IS_ERR(rq->page_pool)) { in veth_create_page_pool()
1026 int err = PTR_ERR(rq->page_pool); in veth_create_page_pool()
1028 rq->page_pool = NULL; in veth_create_page_pool()
1070 page_pool_destroy(priv->rq[i].page_pool); in __veth_napi_enable_range()
1071 priv->rq[i].page_pool = NULL; in __veth_napi_enable_range()
[all …]
/linux/tools/testing/selftests/net/bench/page_pool/
H A Dbench_page_pool_simple.c106 static void pp_fill_ptr_ring(struct page_pool *pp, int elems) in pp_fill_ptr_ring()
133 struct page_pool *pp; in time_bench_page_pool()
/linux/drivers/net/ethernet/tehuti/
H A Dtn40.h146 struct page_pool *page_pool; member

12345