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

123

/linux-master/net/core/
H A Dpage_pool_priv.h6 s32 page_pool_inflight(const struct page_pool *pool, bool strict);
8 int page_pool_list(struct page_pool *pool);
9 void page_pool_detached(struct page_pool *pool);
10 void page_pool_unlist(struct page_pool *pool);
H A Dpage_pool.c3 * page_pool.c
13 #include <net/page_pool/helpers.h>
24 #include <trace/events/page_pool.h>
70 * Retrieve statistics about the page_pool. This API is only available
76 bool page_pool_get_stats(const struct page_pool *pool,
152 static bool page_pool_producer_lock(struct page_pool *pool)
165 static void page_pool_producer_unlock(struct page_pool *pool,
175 static int page_pool_init(struct page_pool *pool,
257 static void page_pool_uninit(struct page_pool *pool)
275 struct page_pool *
[all...]
H A Dpage_pool_user.c7 #include <net/page_pool/types.h>
8 #include <net/page_pool/helpers.h>
32 typedef int (*pp_nl_fill_cb)(struct sk_buff *rsp, const struct page_pool *pool,
38 struct page_pool *pool;
84 struct page_pool *pool;
110 page_pool_nl_stats_fill(struct sk_buff *rsp, const struct page_pool *pool,
212 page_pool_nl_fill(struct sk_buff *rsp, const struct page_pool *pool,
252 static void netdev_nl_page_pool_event(const struct page_pool *pool, u32 cmd)
301 int page_pool_list(struct page_pool *pool)
329 void page_pool_detached(struct page_pool *poo
[all...]
H A Dnet-traces.c48 #include <trace/events/page_pool.h>
H A DMakefile22 obj-$(CONFIG_PAGE_POOL) += page_pool.o page_pool_user.o
/linux-master/include/net/
H A Dxdp_priv.h13 struct page_pool *page_pool; member in union:xdp_mem_allocator::__anon2880
/linux-master/include/net/page_pool/
H A Dtypes.h10 #define PP_FLAG_DMA_MAP BIT(0) /* Should page_pool do the DMA
14 * from page_pool will be
21 #define PP_FLAG_SYSTEM_POOL BIT(2) /* Global system page_pool */
129 struct page_pool { struct
158 * For NIC drivers this means, allocate a page_pool per
185 /* A page_pool is strictly tied to a single RX-queue being
204 struct page *page_pool_alloc_pages(struct page_pool *pool, gfp_t gfp);
205 struct page *page_pool_alloc_frag(struct page_pool *pool, unsigned int *offset,
207 struct page_pool *page_pool_create(const struct page_pool_params *params);
208 struct page_pool *page_pool_create_percp
[all...]
H A Dhelpers.h3 * page_pool/helpers.h
9 * DOC: page_pool allocator
11 * The page_pool allocator is optimized for recycling page or page fragment used
35 * it is safe to free a page_pool object, the API users must call
36 * page_pool_put_page() or page_pool_free_va() to free the page_pool object, or
37 * attach the page_pool object to a page_pool-aware object like skbs marked with
46 * page_pool is created with PP_FLAG_DMA_SYNC_DEV flag, so it depends on the
55 #include <net/page_pool/types.h>
63 bool page_pool_get_stats(const struct page_pool *poo
[all...]
/linux-master/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...]
/linux-master/drivers/net/vmxnet3/
H A Dvmxnet3_xdp.h39 void *vmxnet3_pp_get_buff(struct page_pool *pp, dma_addr_t *dma_addr,
H A Dvmxnet3_xdp.c272 page_pool_recycle_direct(rq->page_pool, page);
280 page_pool_recycle_direct(rq->page_pool, page);
297 page_pool_recycle_direct(rq->page_pool, page);
310 page_pool_recycle_direct(rq->page_pool, page);
335 page = page_pool_alloc_pages(rq->page_pool, GFP_ATOMIC);
342 xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset,
385 rq->page_pool->p.offset, rbi->len,
386 page_pool_get_dma_dir(rq->page_pool));
389 xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset,
407 new_data = vmxnet3_pp_get_buff(rq->page_pool,
[all...]
H A Dvmxnet3_int.h60 #include <net/page_pool/helpers.h>
324 struct page_pool *page_pool; member in struct:vmxnet3_rx_queue
/linux-master/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);
34 page_pool_put_full_page(rx->page_pool,
47 page_pool_recycle_direct(rx->page_pool, page);
87 rx->page_pool = page_pool_create(&pp_params);
98 rx->page_pool);
101 return PTR_ERR_OR_ZERO(rx->page_pool);
114 return PTR_ERR(rx->page_pool);
437 page_pool_recycle_direct(rx->page_pool,
540 page_pool_recycle_direct(rx->page_pool, pag
910 struct page_pool *page_pool; local
[all...]
/linux-master/drivers/net/ethernet/apm/xgene/
H A Dxgene_enet_main.c672 struct xgene_enet_desc_ring *buf_pool, *page_pool; local
690 page_pool = rx_ring->page_pool;
719 xgene_enet_free_pagepool(page_pool, raw_desc, exp_desc);
729 slots = page_pool->slots - 1;
730 head = page_pool->head;
741 page = page_pool->frag_page[head];
747 page_pool->frag_page[head] = NULL;
751 page_pool->head = head;
764 ret = xgene_enet_refill_pagepool(page_pool, NUM_NXTBUFPOO
1062 struct xgene_enet_desc_ring *buf_pool, *page_pool; local
1149 struct xgene_enet_desc_ring *page_pool; local
1309 struct xgene_enet_desc_ring *page_pool = NULL; local
1814 struct xgene_enet_desc_ring *page_pool; local
[all...]
/linux-master/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.h35 u8 num_frags, struct page_pool *pool,
H A Dbnxt_xdp.c18 #include <net/page_pool/helpers.h>
157 page_pool_recycle_direct(rxr->page_pool, tx_buf->page);
215 page_pool_recycle_direct(rxr->page_pool, page);
316 page_pool_recycle_direct(rxr->page_pool, page);
471 struct page_pool *pool, struct xdp_buff *xdp,
/linux-master/block/
H A Dbounce.c32 static mempool_t page_pool; variable
61 ret = mempool_init_page_pool(&page_pool, POOL_SIZE, 0);
116 mempool_free(bvec->bv_page, &page_pool);
248 bounce_page = mempool_alloc(&page_pool, GFP_NOIO);
/linux-master/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.h123 struct page_pool *page_pool; member in struct:otx2_pool
/linux-master/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac.h24 #include <net/page_pool/types.h>
121 struct page_pool *page_pool; member in struct:stmmac_rx_queue
/linux-master/drivers/net/ethernet/engleder/
H A Dtsnep.h129 struct page_pool *page_pool; member in struct:tsnep_rx
H A Dtsnep_main.c31 #include <net/page_pool/helpers.h>
953 page_pool_put_full_page(rx->page_pool, entry->page,
961 if (rx->page_pool)
962 page_pool_destroy(rx->page_pool);
1011 rx->page_pool = page_pool_create(&pp_params);
1012 if (IS_ERR(rx->page_pool)) {
1013 retval = PTR_ERR(rx->page_pool);
1014 rx->page_pool = NULL;
1079 page_pool_put_full_page(rx->page_pool, *page, false);
1093 rx->page_buffer[i] = page_pool_dev_alloc_pages(rx->page_pool);
[all...]
/linux-master/drivers/net/
H A Dveth.c29 #include <net/page_pool/helpers.h>
69 struct page_pool *page_pool; member in struct:veth_rq
187 if (!priv->rq[i].page_pool)
189 page_pool_get_stats(priv->rq[i].page_pool, &pp_stats);
732 if (skb_pp_cow_data(rq->page_pool, pskb, XDP_PACKET_HEADROOM))
973 rq->page_pool = page_pool_create(&pp_params);
974 if (IS_ERR(rq->page_pool)) {
975 int err = PTR_ERR(rq->page_pool);
977 rq->page_pool
[all...]
/linux-master/drivers/net/ethernet/ti/
H A Dcpsw_priv.c21 #include <net/page_pool/helpers.h>
1106 struct page_pool *pool;
1113 pool = cpsw->page_pool[ch];
1147 static struct page_pool *cpsw_create_page_pool(struct cpsw_common *cpsw,
1151 struct page_pool *pool;
1169 struct page_pool *pool;
1177 cpsw->page_pool[ch] = pool;
1186 struct page_pool *pool;
1189 pool = cpsw->page_pool[ch];
1227 page_pool_destroy(cpsw->page_pool[c
[all...]
/linux-master/drivers/net/ethernet/socionext/
H A Dnetsec.c18 #include <net/page_pool/helpers.h>
286 struct page_pool *page_pool; member in struct:netsec_desc_ring
742 page = page_pool_dev_alloc_pages(dring->page_pool);
747 * page_pool API will map the whole page, skip what's needed for
857 /* This is the device Rx buffer from page_pool. No need to remap
863 page_pool_get_dma_dir(rx_ring->page_pool);
922 page_pool_put_page(dring->page_pool, page, sync, true);
932 page_pool_put_page(dring->page_pool, page, sync, true);
944 page_pool_put_page(dring->page_pool, pag
[all...]
/linux-master/drivers/net/ethernet/intel/idpf/
H A Didpf_txrx.h7 #include <net/page_pool/helpers.h>
707 struct page_pool *pp;
924 * @pool: page_pool to allocate from
930 static inline dma_addr_t idpf_alloc_page(struct page_pool *pool,
968 struct page_pool *pp = page->pp;

Completed in 522 milliseconds

123