Home
last modified time | relevance | path

Searched refs:page_pool (Results 1 - 25 of 103) sorted by relevance

12345

/kernel/linux/linux-5.10/include/net/
H A Dpage_pool.h3 * page_pool.h
9 * DOC: page_pool allocator
11 * This page_pool allocator is optimized for the XDP mode that
20 * when it is safe to dealloactor page_pool object. Thus, API users
22 * "leaving" the page_pool. Or call page_pool_put_page() where
37 #define PP_FLAG_DMA_MAP BIT(0) /* Should page_pool do the DMA
41 * from page_pool will be
82 struct page_pool { struct
99 * For NIC drivers this means, allocate a page_pool per
122 /* A page_pool i
[all...]
H A Dxdp_priv.h12 struct page_pool *page_pool; member
/kernel/linux/linux-6.6/include/net/page_pool/
H A Dtypes.h9 #define PP_FLAG_DMA_MAP BIT(0) /* Should page_pool do the DMA
13 * from page_pool will be
123 struct page_pool { struct
149 * For NIC drivers this means, allocate a page_pool per
176 /* A page_pool is strictly tied to a single RX-queue being
185 struct page *page_pool_alloc_pages(struct page_pool *pool, gfp_t gfp);
186 struct page *page_pool_alloc_frag(struct page_pool *pool, unsigned int *offset,
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 *poo
[all...]
H A Dhelpers.h3 * page_pool/helpers.h
9 * DOC: page_pool allocator
11 * The page_pool allocator is optimized for the XDP mode that
20 * when it is safe to free a page_pool object. Thus, API users
22 * the page to a page_pool-aware object like skbs marked with
32 #include <net/page_pool/types.h>
44 bool page_pool_get_stats(struct page_pool *pool,
67 * Get a page from the page allocator or page_pool caches.
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 *poo
[all...]
/kernel/linux/linux-5.10/net/core/
H A Dpage_pool.c3 * page_pool.c
13 #include <net/page_pool.h>
19 #include <trace/events/page_pool.h>
24 static int page_pool_init(struct page_pool *pool, in page_pool_init()
81 struct page_pool *page_pool_create(const struct page_pool_params *params) in page_pool_create()
83 struct page_pool *pool; in page_pool_create()
101 static void page_pool_return_page(struct page_pool *pool, struct page *page);
104 static struct page *page_pool_refill_alloc_cache(struct page_pool *pool) in page_pool_refill_alloc_cache()
156 static struct page *__page_pool_get_cached(struct page_pool *pool) in __page_pool_get_cached()
171 static void page_pool_dma_sync_for_device(struct page_pool *poo
[all...]
H A Dxdp.c15 #include <net/page_pool.h>
128 page_pool_destroy(xa->page_pool); in xdp_unreg_mem_model()
283 return ERR_PTR(-EINVAL); /* Setup time check page_pool req */ in __xdp_reg_mem_model()
384 page_pool_put_full_page(xa->page_pool, page, napi_direct); in __xdp_return()
432 page_pool_release_page(xa->page_pool, page); in __xdp_release_frame()
/kernel/linux/linux-5.10/include/trace/events/
H A Dpage_pool.h3 #define TRACE_SYSTEM page_pool
12 #include <net/page_pool.h>
16 TP_PROTO(const struct page_pool *pool,
22 __field(const struct page_pool *, pool)
37 TP_printk("page_pool=%p inflight=%d hold=%u release=%u cnt=%llu",
44 TP_PROTO(const struct page_pool *pool,
50 __field(const struct page_pool *, pool)
63 TP_printk("page_pool=%p page=%p pfn=%lu release=%u",
69 TP_PROTO(const struct page_pool *pool,
75 __field(const struct page_pool *, poo
[all...]
/kernel/linux/linux-6.6/include/trace/events/
H A Dpage_pool.h3 #define TRACE_SYSTEM page_pool
12 #include <net/page_pool/types.h>
16 TP_PROTO(const struct page_pool *pool,
22 __field(const struct page_pool *, pool)
37 TP_printk("page_pool=%p inflight=%d hold=%u release=%u cnt=%llu",
44 TP_PROTO(const struct page_pool *pool,
50 __field(const struct page_pool *, pool)
63 TP_printk("page_pool=%p page=%p pfn=0x%lx release=%u",
69 TP_PROTO(const struct page_pool *pool,
75 __field(const struct page_pool *, poo
[all...]
/kernel/linux/linux-6.6/net/core/
H A Dpage_pool.c3 * page_pool.c
13 #include <net/page_pool/helpers.h>
24 #include <trace/events/page_pool.h>
66 * Retrieve statistics about the page_pool. This API is only available
72 bool page_pool_get_stats(struct page_pool *pool, in page_pool_get_stats()
148 static bool page_pool_producer_lock(struct page_pool *pool)
161 static void page_pool_producer_unlock(struct page_pool *pool,
171 static int page_pool_init(struct page_pool *pool, in page_pool_init()
246 struct page_pool *page_pool_create(const struct page_pool_params *params) in page_pool_create()
248 struct page_pool *poo in page_pool_create()
[all...]
/kernel/linux/linux-5.10/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_NXTBUFPOO in xgene_enet_rx_frame()
1062 struct xgene_enet_desc_ring *buf_pool, *page_pool; xgene_enet_delete_desc_rings() local
1149 struct xgene_enet_desc_ring *page_pool; xgene_enet_free_desc_rings() local
1309 struct xgene_enet_desc_ring *page_pool = NULL; xgene_enet_create_desc_rings() local
1814 struct xgene_enet_desc_ring *page_pool; xgene_enet_init_hw() local
[all...]
/kernel/linux/linux-6.6/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_NXTBUFPOO in xgene_enet_rx_frame()
1062 struct xgene_enet_desc_ring *buf_pool, *page_pool; xgene_enet_delete_desc_rings() local
1149 struct xgene_enet_desc_ring *page_pool; xgene_enet_free_desc_rings() local
1309 struct xgene_enet_desc_ring *page_pool = NULL; xgene_enet_create_desc_rings() local
1814 struct xgene_enet_desc_ring *page_pool; xgene_enet_init_hw() local
[all...]
/kernel/linux/linux-6.6/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, in vmxnet3_process_xdp()
[all...]
/kernel/linux/linux-6.6/include/net/
H A Dxdp_priv.h13 struct page_pool *page_pool; member
/kernel/linux/linux-5.10/block/
H A Dbounce.c32 static mempool_t page_pool, isa_page_pool; variable
61 ret = mempool_init_page_pool(&page_pool, POOL_SIZE, 0); in init_emergency_pool()
188 bounce_end_io(bio, &page_pool); in bounce_end_io_write()
209 __bounce_end_io_read(bio, &page_pool); in bounce_end_io_read()
347 if (pool == &page_pool) { in __blk_queue_bounce()
379 pool = &page_pool; in blk_queue_bounce()
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_fdma.c5 #include <net/page_pool/helpers.h>
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()
437 page_pool_recycle_direct(rx->page_pool, in lan966x_fdma_tx_clear_buf()
540 page_pool_recycle_direct(rx->page_pool, pag in lan966x_fdma_rx_get_frame()
910 struct page_pool *page_pool; lan966x_fdma_reload() local
[all...]
/kernel/linux/linux-6.6/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()
/kernel/linux/linux-5.10/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac.h24 #include <net/page_pool.h>
74 struct page_pool *page_pool; member
/kernel/linux/linux-5.10/drivers/net/ethernet/ti/
H A Dcpsw_priv.c21 #include <net/page_pool.h>
1103 struct page_pool *pool; in cpsw_fill_rx_channels()
1110 pool = cpsw->page_pool[ch]; in cpsw_fill_rx_channels()
1144 static struct page_pool *cpsw_create_page_pool(struct cpsw_common *cpsw, in cpsw_create_page_pool()
1148 struct page_pool *pool; in cpsw_create_page_pool()
1166 struct page_pool *pool; in cpsw_create_rx_pool()
1174 cpsw->page_pool[ch] = pool; in cpsw_create_rx_pool()
1183 struct page_pool *pool; in cpsw_ndev_create_xdp_rxq()
1186 pool = cpsw->page_pool[ch]; in cpsw_ndev_create_xdp_rxq()
1224 page_pool_destroy(cpsw->page_pool[c in cpsw_destroy_xdp_rxqs()
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/socionext/
H A Dnetsec.c18 #include <net/page_pool.h>
286 struct page_pool *page_pool; member
728 page = page_pool_dev_alloc_pages(dring->page_pool); in netsec_alloc_rx_data()
733 * page_pool API will map the whole page, skip what's needed for in netsec_alloc_rx_data()
843 /* This is the device Rx buffer from page_pool. No need to remap in netsec_xdp_queue_one()
849 page_pool_get_dma_dir(rx_ring->page_pool); in netsec_xdp_queue_one()
908 page_pool_put_page(dring->page_pool, page, sync, true); in netsec_run_xdp()
918 page_pool_put_page(dring->page_pool, page, sync, true); in netsec_run_xdp()
930 page_pool_put_page(dring->page_pool, pag in netsec_run_xdp()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/socionext/
H A Dnetsec.c18 #include <net/page_pool/helpers.h>
286 struct page_pool *page_pool; member
742 page = page_pool_dev_alloc_pages(dring->page_pool); in netsec_alloc_rx_data()
747 * page_pool API will map the whole page, skip what's needed for in netsec_alloc_rx_data()
857 /* This is the device Rx buffer from page_pool. No need to remap in netsec_xdp_queue_one()
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, pag in netsec_run_xdp()
[all...]
/kernel/linux/linux-5.10/mm/
H A Dreadahead.c179 LIST_HEAD(page_pool); in page_cache_ra_unbounded()
212 read_pages(ractl, &page_pool, true); in page_cache_ra_unbounded()
221 list_add(&page->lru, &page_pool); in page_cache_ra_unbounded()
225 read_pages(ractl, &page_pool, true); in page_cache_ra_unbounded()
238 read_pages(ractl, &page_pool, false); in page_cache_ra_unbounded()
/kernel/linux/linux-6.6/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.c18 #include <net/page_pool/helpers.h>
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()
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.h123 struct page_pool *page_pool; member
/kernel/linux/linux-6.6/drivers/net/
H A Dveth.c29 #include <net/page_pool/helpers.h>
69 struct page_pool *page_pool; member
187 if (!priv->rq[i].page_pool) in veth_get_page_pool_stats()
189 page_pool_get_stats(priv->rq[i].page_pool, &pp_stats); in veth_get_page_pool_stats()
749 page = page_pool_dev_alloc_pages(rq->page_pool); in veth_convert_skb_to_xdp_buff()
755 page_pool_put_full_page(rq->page_pool, page, true); in veth_convert_skb_to_xdp_buff()
778 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()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac.h24 #include <net/page_pool/types.h>
108 struct page_pool *page_pool; member

Completed in 27 milliseconds

12345