Home
last modified time | relevance | path

Searched refs:netmem (Results 1 – 25 of 26) sorted by relevance

12

/linux/include/trace/events/
H A Dpage_pool.h45 netmem_ref netmem, u32 release),
47 TP_ARGS(pool, netmem, release),
51 __field(unsigned long, netmem)
58 __entry->netmem = (__force unsigned long)netmem;
60 __entry->pfn = netmem_pfn_trace(netmem);
64 __entry->pool, (void *)__entry->netmem,
65 __entry->netmem & NET_IOV, __entry->pfn, __entry->release)
71 netmem_ref netmem, u32 hold),
73 TP_ARGS(pool, netmem, hold),
77 __field(unsigned long, netmem)
[all …]
/linux/net/core/
H A Dpage_pool_priv.h19 page_pool_set_dma_addr_netmem(netmem_ref netmem, dma_addr_t addr) in page_pool_set_dma_addr_netmem() argument
22 netmem_set_dma_addr(netmem, addr >> PAGE_SHIFT); in page_pool_set_dma_addr_netmem()
27 return addr != (dma_addr_t)netmem_get_dma_addr(netmem) in page_pool_set_dma_addr_netmem()
31 netmem_set_dma_addr(netmem, addr); in page_pool_set_dma_addr_netmem()
41 void page_pool_set_pp_info(struct page_pool *pool, netmem_ref netmem);
42 void page_pool_clear_pp_info(netmem_ref netmem);
47 netmem_ref netmem) in page_pool_set_pp_info() argument
50 static inline void page_pool_clear_pp_info(netmem_ref netmem) in page_pool_clear_pp_info() argument
H A Ddevmem.c455 netmem_ref netmem; in mp_dmabuf_devmem_alloc_netmems()
461 netmem = net_iov_to_netmem(niov); in mp_dmabuf_devmem_alloc_netmems()
463 page_pool_set_pp_info(pool, netmem); in mp_dmabuf_devmem_alloc_netmems()
466 trace_page_pool_state_hold(pool, netmem, pool->pages_state_hold_cnt); in mp_dmabuf_devmem_alloc_netmems()
467 return netmem; in mp_dmabuf_devmem_alloc_netmems()
477 bool mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem)
479 long refcount = atomic_long_read(netmem_get_pp_ref_count_ref(netmem)); in mp_dmabuf_devmem_release_page()
481 if (WARN_ON_ONCE(!netmem_is_net_iov(netmem))) in mp_dmabuf_devmem_release_page()
487 page_pool_clear_pp_info(netmem); in mp_dmabuf_devmem_release_page()
489 net_devmem_free_dmabuf(netmem_to_net_iov(netmem)); in mp_dmabuf_devmem_release_page()
456 netmem_ref netmem; mp_dmabuf_devmem_alloc_netmems() local
478 mp_dmabuf_devmem_release_page(struct page_pool * pool,netmem_ref netmem) mp_dmabuf_devmem_release_page() argument
[all...]
H A Dmp_dmabuf_devmem.h20 bool mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem);
38 mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem) in mp_dmabuf_devmem_release_page() argument
H A Dxdp.c433 void __xdp_return(netmem_ref netmem, enum xdp_mem_type mem_type, in __xdp_return() argument
438 netmem = netmem_compound_head(netmem); in __xdp_return()
444 page_pool_put_full_netmem(netmem_get_pp(netmem), netmem, in __xdp_return()
448 page_frag_free(__netmem_address(netmem)); in __xdp_return()
451 put_page(__netmem_to_page(netmem)); in __xdp_return()
543 void xdp_return_frag(netmem_ref netmem, const struct xdp_buff *xdp) in xdp_return_frag() argument
545 __xdp_return(netmem, xdp->rxq->mem.type, true, NULL); in xdp_return_frag()
H A Dskbuff.c126 offsetof(skb_frag_t, netmem));
128 sizeof_field(skb_frag_t, netmem));
1021 bool napi_pp_put_page(netmem_ref netmem) in napi_pp_put_page() argument
1023 netmem = netmem_compound_head(netmem); in napi_pp_put_page()
1025 if (unlikely(!netmem_is_pp(netmem))) in napi_pp_put_page()
1028 page_pool_put_full_netmem(netmem_get_pp(netmem), netmem, false); in napi_pp_put_page()
1064 head_netmem = netmem_compound_head(shinfo->frags[i].netmem); in skb_pp_frag_ref()
7424 void __get_netmem(netmem_ref netmem) in __get_netmem() argument
7426 struct net_iov *niov = netmem_to_net_iov(netmem); in __get_netmem()
7429 net_devmem_get_net_iov(netmem_to_net_iov(netmem)); in __get_netmem()
[all …]
H A Dfilter.c4202 netmem_ref netmem = skb_frag_netmem(frag); in bpf_xdp_shrink_data() local
4206 netmem = 0; in bpf_xdp_shrink_data()
4211 __xdp_return(netmem, mem_type, false, zc_frag); in bpf_xdp_shrink_data()
/linux/include/net/libeth/
H A Drx.h45 netmem_ref netmem; member
109 buf->netmem = page_pool_dev_alloc_netmem(fq->pp, &buf->offset, in libeth_rx_alloc()
111 if (unlikely(!buf->netmem)) in libeth_rx_alloc()
114 return page_pool_get_dma_addr_netmem(buf->netmem) + buf->offset + in libeth_rx_alloc()
118 void libeth_rx_recycle_slow(netmem_ref netmem);
134 netmem_ref netmem = fqe->netmem; in libeth_rx_sync_for_cpu() local
141 libeth_rx_recycle_slow(netmem); in libeth_rx_sync_for_cpu()
145 page_pool_dma_sync_netmem_for_cpu(netmem_get_pp(netmem), netmem, in libeth_rx_sync_for_cpu()
H A Dxdp.h721 netmem_ref netmem; in libeth_xdp_tx_fill_buf() local
732 netmem = skb_frag_netmem(frag); in libeth_xdp_tx_fill_buf()
734 .addr = page_pool_get_dma_addr_netmem(netmem) + in libeth_xdp_tx_fill_buf()
740 dma_sync_single_for_device(__netmem_get_pp(netmem)->p.dev, desc.addr, in libeth_xdp_tx_fill_buf()
1225 netmem_ref netmem = virt_to_netmem(data); in libeth_xdp_return_va() local
1227 page_pool_put_full_netmem(__netmem_get_pp(netmem), netmem, napi); in libeth_xdp_return_va()
1234 netmem_ref netmem = skb_frag_netmem(&sinfo->frags[i]); in libeth_xdp_return_frags() local
1236 page_pool_put_full_netmem(netmem_get_pp(netmem), netmem, napi); in libeth_xdp_return_frags()
1282 const struct page *page = __netmem_to_page(fqe->netmem); in libeth_xdp_prepare_buff()
/linux/drivers/net/ethernet/intel/libeth/
H A Dxdp.c265 netmem_ref netmem = fqe->netmem; in libeth_xdp_buff_add_frag() local
267 if (!xdp_buff_add_frag(&xdp->base, netmem, in libeth_xdp_buff_add_frag()
268 fqe->offset + netmem_get_pp(netmem)->p.offset, in libeth_xdp_buff_add_frag()
275 libeth_rx_recycle_slow(netmem); in libeth_xdp_buff_add_frag()
315 static void libeth_xdp_put_netmem_bulk(netmem_ref netmem, in libeth_xdp_put_netmem_bulk() argument
321 bq->q[bq->count++] = netmem; in libeth_xdp_put_netmem_bulk()
H A Drx.c222 void __cold libeth_rx_recycle_slow(netmem_ref netmem) in libeth_rx_recycle_slow() argument
224 page_pool_put_full_netmem(netmem_get_pp(netmem), netmem, false); in libeth_rx_recycle_slow()
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_rx.c278 netmem_ref netmem = page_pool_dev_alloc_netmems(pp); in mlx5e_page_alloc_fragmented() local
280 if (unlikely(!netmem)) in mlx5e_page_alloc_fragmented()
283 page_pool_fragment_netmem(netmem, MLX5E_PAGECNT_BIAS_MAX); in mlx5e_page_alloc_fragmented()
286 .netmem = netmem, in mlx5e_page_alloc_fragmented()
297 netmem_ref netmem = frag_page->netmem; in mlx5e_page_release_fragmented() local
299 if (page_pool_unref_netmem(netmem, drain_count) == 0) in mlx5e_page_release_fragmented()
300 page_pool_put_unrefed_netmem(pp, netmem, -1, true); in mlx5e_page_release_fragmented()
310 if (likely(li->frag_page.netmem)) { in mlx5e_mpwqe_linear_page_refill()
312 li->frag_page.netmem = 0; in mlx5e_mpwqe_linear_page_refill()
329 return netmem_address(li->frag_page.netmem) + frag_offset; in mlx5e_mpwqe_get_linear_page_frag()
[all …]
/linux/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_txrx.c732 netmem_ref netmem) in fbnic_page_pool_init() argument
736 page_pool_fragment_netmem(netmem, FBNIC_PAGECNT_BIAS_MAX); in fbnic_page_pool_init()
738 rx_buf->netmem = netmem; in fbnic_page_pool_init()
749 return netmem_to_page(rx_buf->netmem); in fbnic_page_pool_get_head()
759 return rx_buf->netmem; in fbnic_page_pool_get_data()
766 netmem_ref netmem = rx_buf->netmem; in fbnic_page_pool_drain() local
768 if (!page_pool_unref_netmem(netmem, rx_buf->pagecnt_bias)) in fbnic_page_pool_drain()
769 page_pool_put_unrefed_netmem(ring->page_pool, netmem, -1, in fbnic_page_pool_drain()
772 rx_buf->netmem = 0; in fbnic_page_pool_drain()
873 static void fbnic_bd_prep(struct fbnic_ring *bdq, u16 id, netmem_ref netmem) in fbnic_bd_prep() argument
[all …]
H A Dfbnic_txrx.h106 netmem_ref netmem; member
/linux/io_uring/
H A Dzcrx.c624 netmem_ref netmem = net_iov_to_netmem(niov); in io_zcrx_return_niov()
631 page_pool_put_unrefed_netmem(niov->desc.pp, netmem, -1, false); in io_zcrx_return_niov()
1051 netmem_ref netmem; in io_zcrx_ring_refill()
1058 netmem = net_iov_to_netmem(niov); in io_zcrx_ring_refill()
1059 if (!page_pool_unref_and_test(netmem)) in io_zcrx_ring_refill()
1067 netmems[allocated] = netmem; in io_zcrx_ring_refill()
1119 static bool io_pp_zc_release_netmem(struct page_pool *pp, netmem_ref netmem)
1123 if (WARN_ON_ONCE(!netmem_is_net_iov(netmem))) in io_pp_zc_release_netmem()
1126 niov = netmem_to_net_iov(netmem); in io_pp_zc_release_netmem()
1220 netmem_ref netmem in zcrx_return_buffers()
625 netmem_ref netmem = net_iov_to_netmem(niov); io_zcrx_return_niov() local
1052 netmem_ref netmem; io_zcrx_ring_refill() local
1120 io_pp_zc_release_netmem(struct page_pool * pp,netmem_ref netmem) io_pp_zc_release_netmem() argument
1221 netmem_ref netmem = netmems[i]; zcrx_return_buffers() local
[all...]
/linux/include/net/page_pool/
H A Dtypes.h103 void (*init_callback)(netmem_ref netmem, void *arg);
301 void page_pool_put_unrefed_netmem(struct page_pool *pool, netmem_ref netmem,
/linux/include/linux/
H A Dskbuff.h362 netmem_ref netmem; member
2551 netmem_ref netmem, int off, in skb_frag_fill_netmem_desc() argument
2554 frag->netmem = netmem; in skb_frag_fill_netmem_desc()
2567 int i, netmem_ref netmem, in __skb_fill_netmem_desc_noacc() argument
2572 skb_frag_fill_netmem_desc(frag, netmem, off, size); in __skb_fill_netmem_desc_noacc()
2609 __skb_fill_netmem_desc(struct sk_buff *skb, int i, netmem_ref netmem, in __skb_fill_netmem_desc() argument
2614 __skb_fill_netmem_desc_noacc(skb_shinfo(skb), i, netmem, off, size); in __skb_fill_netmem_desc()
2616 if (netmem_is_net_iov(netmem)) { in __skb_fill_netmem_desc()
2621 page = netmem_to_page(netmem); in __skb_fill_netmem_desc()
2640 skb_fill_netmem_desc(struct sk_buff *skb, int i, netmem_ref netmem, in skb_fill_netmem_desc() argument
[all …]
/linux/Documentation/networking/
H A Dindex.rst86 netmem
/linux/Documentation/translations/zh_CN/networking/
H A Dindex.rst28 netmem
/linux/drivers/net/ethernet/intel/iavf/
H A Diavf_txrx.c726 libeth_rx_recycle_slow(rx_fqes->netmem); in iavf_clean_rx_ring()
1200 u32 hr = netmem_get_pp(rx_buffer->netmem)->p.offset; in iavf_add_rx_frag()
1203 rx_buffer->netmem, rx_buffer->offset + hr, in iavf_add_rx_frag()
1218 struct page *buf_page = __netmem_to_page(rx_buffer->netmem); in iavf_build_skb()
/linux/drivers/net/ethernet/intel/ice/
H A Dice_txrx.c555 libeth_rx_recycle_slow(rx_ring->rx_fqes[i].netmem); in ice_clean_rx_ring()
558 libeth_rx_recycle_slow(rx_ring->hdr_fqes[i].netmem); in ice_clean_rx_ring()
870 libeth_rx_recycle_slow(fq.fqes[ntu].netmem); in ice_alloc_rx_bufs()
1012 rx_buf->netmem = 0; in ice_clean_rx_irq()
/linux/drivers/net/ethernet/intel/idpf/
H A Didpf_txrx.c349 if (unlikely(!rx_buf->netmem)) in idpf_rx_page_rel()
352 libeth_rx_recycle_slow(rx_buf->netmem); in idpf_rx_page_rel()
354 rx_buf->netmem = 0; in idpf_rx_page_rel()
3469 if (unlikely(netmem_is_net_iov(buf->netmem)) || in idpf_rx_hsplit_wa()
3473 hdr_page = __netmem_to_page(hdr->netmem); in idpf_rx_hsplit_wa()
3474 buf_page = __netmem_to_page(buf->netmem); in idpf_rx_hsplit_wa()
3618 hdr->netmem = 0; in idpf_rx_splitq_clean()
3622 rx_buf->netmem = 0; in idpf_rx_splitq_clean()
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt.c964 netmem_ref netmem; in __bnxt_alloc_rx_netmem() local
967 netmem = page_pool_alloc_frag_netmem(rxr->page_pool, offset, in __bnxt_alloc_rx_netmem()
970 netmem = page_pool_alloc_netmems(rxr->page_pool, gfp); in __bnxt_alloc_rx_netmem()
973 if (!netmem) in __bnxt_alloc_rx_netmem()
976 *mapping = page_pool_get_dma_addr_netmem(netmem) + *offset; in __bnxt_alloc_rx_netmem()
977 return netmem; in __bnxt_alloc_rx_netmem()
1069 netmem_ref netmem; in bnxt_alloc_rx_netmem() local
1071 netmem = __bnxt_alloc_rx_netmem(bp, &mapping, rxr, &offset, gfp); in bnxt_alloc_rx_netmem()
1072 if (!netmem) in bnxt_alloc_rx_netmem()
1082 rx_agg_buf->netmem in bnxt_alloc_rx_netmem()
1129 netmem_ref netmem; bnxt_reuse_rx_agg_bufs() local
1305 netmem_ref netmem; __bnxt_rx_agg_netmems() local
3561 netmem_ref netmem = rx_agg_buf->netmem; bnxt_free_one_rx_agg_ring() local
[all...]
H A Dbnxt.h917 netmem_ref netmem; member
/linux/net/ipv4/
H A Dtcp_ipv4.c2411 void *netmem;
2413 xa_for_each(&sk->sk_user_frags, index, netmem) local
2414 WARN_ON_ONCE(!napi_pp_put_page((__force netmem_ref)netmem));

12