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

1234

/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
14 #include <net/page_pool/helpers.h>
25 #include <trace/events/page_pool.h>
71 * Retrieve statistics about the page_pool. This API is only available
77 bool page_pool_get_stats(const struct page_pool *pool,
153 static bool page_pool_producer_lock(struct page_pool *pool)
166 static void page_pool_producer_unlock(struct page_pool *pool,
178 CACHELINE_ASSERT_GROUP_MEMBER(struct page_pool, frag, frag_users);
179 CACHELINE_ASSERT_GROUP_MEMBER(struct page_pool, frag, frag_page);
180 CACHELINE_ASSERT_GROUP_MEMBER(struct page_pool, fra
[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 */
131 struct page_pool { struct
176 * For NIC drivers this means, allocate a page_pool per
203 /* A page_pool is strictly tied to a single RX-queue being
222 struct page *page_pool_alloc_pages(struct page_pool *pool, gfp_t gfp);
223 struct page *page_pool_alloc_frag(struct page_pool *pool, unsigned int *offset,
225 struct page_pool *page_pool_create(const struct page_pool_params *params);
226 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
57 #include <net/page_pool/types.h>
65 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/include/net/libeth/
H A Drx.h9 #include <net/page_pool/helpers.h>
49 * @pp: &page_pool for buffer management
58 struct page_pool *pp;
/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/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/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/drivers/net/ethernet/ti/
H A Dam65-cpsw-nuss.h102 struct page_pool *page_pool; member in struct:am65_cpsw_rx_chn
/linux-master/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.h126 struct page_pool *page_pool; member in struct:otx2_pool
/linux-master/drivers/net/netdevsim/
H A Dnetdev.c23 #include <net/page_pool/helpers.h>
373 rq->page_pool = page_pool_create(&p);
374 if (IS_ERR(rq->page_pool)) {
375 int err = PTR_ERR(rq->page_pool);
377 rq->page_pool = NULL;
407 page_pool_destroy(ns->rq[i].page_pool);
408 ns->rq[i].page_pool = NULL;
458 page_pool_destroy(ns->rq[i].page_pool);
459 ns->rq[i].page_pool = NULL;
592 ns->page = page_pool_dev_alloc_pages(ns->rq[0].page_pool);
[all...]
/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/intel/libeth/
H A Drx.c50 struct page_pool *pool;
82 * libeth_rx_fq_destroy - destroy a &page_pool created by libeth
/linux-master/drivers/net/ethernet/engleder/
H A Dtsnep.h129 struct page_pool *page_pool; member in struct:tsnep_rx
/linux-master/drivers/net/
H A Dveth.c30 #include <net/page_pool/helpers.h>
70 struct page_pool *page_pool; member in struct:veth_rq
188 if (!priv->rq[i].page_pool)
190 page_pool_get_stats(priv->rq[i].page_pool, &pp_stats);
733 if (skb_pp_cow_data(rq->page_pool, pskb, XDP_PACKET_HEADROOM))
974 rq->page_pool = page_pool_create(&pp_params);
975 if (IS_ERR(rq->page_pool)) {
976 int err = PTR_ERR(rq->page_pool);
978 rq->page_pool
[all...]

Completed in 497 milliseconds

1234