The specific _rq variants are deprecated, and will be removed next. Signed-off-by: Jonathan Lemon <jonathan.le...@gmail.com> --- include/net/xdp_sock.h | 22 +++------------------- net/xdp/xsk.c | 22 +++++++++++++++++++--- 2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/include/net/xdp_sock.h b/include/net/xdp_sock.h index 7df7b417ac53..55f5f27ef22a 100644 --- a/include/net/xdp_sock.h +++ b/include/net/xdp_sock.h @@ -99,33 +99,17 @@ static inline dma_addr_t xdp_umem_get_dma(struct xdp_umem *umem, u64 addr) /* Reuse-queue aware version of FILL queue helpers */ static inline bool xsk_umem_has_addrs_rq(struct xdp_umem *umem, u32 cnt) { - struct xdp_umem_fq_reuse *rq = umem->fq_reuse; - - if (rq->length >= cnt) - return true; - - return xsk_umem_has_addrs(umem, cnt - rq->length); + return xsk_umem_has_addrs(umem, cnt); } static inline u64 *xsk_umem_peek_addr_rq(struct xdp_umem *umem, u64 *addr) { - struct xdp_umem_fq_reuse *rq = umem->fq_reuse; - - if (!rq->length) - return xsk_umem_peek_addr(umem, addr); - - *addr = rq->handles[rq->length - 1] & umem->chunk_mask; - return addr; + return xsk_umem_peek_addr(umem, addr); } static inline void xsk_umem_discard_addr_rq(struct xdp_umem *umem) { - struct xdp_umem_fq_reuse *rq = umem->fq_reuse; - - if (!rq->length) - xsk_umem_discard_addr(umem); - else - rq->length--; + return xsk_umem_discard_addr(umem); } static inline void xsk_umem_recycle_addr(struct xdp_umem *umem, u64 addr) diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index 74417a851ed5..fc33070b1821 100644 --- a/net/xdp/xsk.c +++ b/net/xdp/xsk.c @@ -39,19 +39,35 @@ bool xsk_is_setup_for_bpf_map(struct xdp_sock *xs) bool xsk_umem_has_addrs(struct xdp_umem *umem, u32 cnt) { - return xskq_has_addrs(umem->fq, cnt); + struct xdp_umem_fq_reuse *rq = umem->fq_reuse; + + if (rq->length >= cnt) + return true; + + return xskq_has_addrs(umem->fq, cnt - rq->length); } EXPORT_SYMBOL(xsk_umem_has_addrs); u64 *xsk_umem_peek_addr(struct xdp_umem *umem, u64 *addr) { - return xskq_peek_addr(umem->fq, addr); + struct xdp_umem_fq_reuse *rq = umem->fq_reuse; + + if (!rq->length) + return xskq_peek_addr(umem->fq, addr); + + *addr = rq->handles[rq->length - 1] & umem->chunk_mask; + return addr; } EXPORT_SYMBOL(xsk_umem_peek_addr); void xsk_umem_discard_addr(struct xdp_umem *umem) { - xskq_discard_addr(umem->fq); + struct xdp_umem_fq_reuse *rq = umem->fq_reuse; + + if (!rq->length) + xskq_discard_addr(umem->fq); + else + rq->length--; } EXPORT_SYMBOL(xsk_umem_discard_addr); -- 2.17.1