/linux-master/net/core/ |
H A D | page_pool_priv.h | 6 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 D | page_pool.c | 3 * 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 D | page_pool_user.c | 7 #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 D | net-traces.c | 48 #include <trace/events/page_pool.h>
|
H A D | Makefile | 22 obj-$(CONFIG_PAGE_POOL) += page_pool.o page_pool_user.o
|
/linux-master/include/net/ |
H A D | xdp_priv.h | 13 struct page_pool *page_pool; member in union:xdp_mem_allocator::__anon2880
|
/linux-master/include/net/page_pool/ |
H A D | types.h | 10 #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 D | helpers.h | 3 * 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 D | page_pool.h | 3 #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 D | vmxnet3_xdp.h | 39 void *vmxnet3_pp_get_buff(struct page_pool *pp, dma_addr_t *dma_addr,
|
H A D | vmxnet3_xdp.c | 272 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 D | vmxnet3_int.h | 60 #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 D | lan966x_fdma.c | 5 #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 D | xgene_enet_main.c | 672 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 D | bnxt_xdp.h | 35 u8 num_frags, struct page_pool *pool,
|
H A D | bnxt_xdp.c | 18 #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 D | bounce.c | 32 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 D | otx2_txrx.h | 123 struct page_pool *page_pool; member in struct:otx2_pool
|
/linux-master/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac.h | 24 #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 D | tsnep.h | 129 struct page_pool *page_pool; member in struct:tsnep_rx
|
H A D | tsnep_main.c | 31 #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 D | veth.c | 29 #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 D | cpsw_priv.c | 21 #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 D | netsec.c | 18 #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 D | idpf_txrx.h | 7 #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;
|